Struttura del corso

Introduzione

  • Panoramica delle funzionalità e delle applicazioni di C

Preparazione dell'ambiente di sviluppo

  • Scelta di un IDE
  • Configurazione del compilatore

Scrittura di un programma di esempio

  • Definizione del problema
  • Codifica in base alle esigenze

Definizione dell'ambito di variabili e funzioni

  • Comprendere l'ambito, la visibilità e la durata
  • Utilizzo delle classi di archiviazione: auto, extern, register, static

Gestione dei dati in un programma C

  • Oltre i tipi di dati primitivi
  • Lavorare con tipi di dati avanzati: strutture, liste concatenate, ecc.
  • Memorizzazione di diversi tipi di dati nella stessa posizione di memoria

Modifica delle proprietà di una variabile

  • Oltre i modificatori di tipo
  • Utilizzo dei qualificatori di tipo: costante, volatile e così via.

Manipolazione delle punte in C

  • Utilizzo di dati di dimensioni inferiori a un byte
  • Utilizzo degli operatori di manipolazione dei bit

Controllo del flusso del programma

  • Oltre il sequenziamento
  • Utilizzo dell'istruzione goto

Lettura e scrittura dei dati

  • Riepilogo delle funzioni di Input/Output
  • Miglioramento della leggibilità dell'output

Sviluppo di codice multipiattaforma

  • Informazioni sulle direttive del compilatore
  • Compilazione condizionale del codice

Miglioramento delle prestazioni del programma

  • Macro e funzioni a confronto
  • Definizione di macro per l'esecuzione di frammenti di programma

Allocazione dinamica della memoria

  • Vantaggio dell'utilizzo dei puntatori: velocità di esecuzione
  • Puntatori alle funzioni
  • AccessMemoria e manipolazione dell'indirizzo

Debug di un programma C

  • Tecniche avanzate per il controllo, il rilevamento e la correzione degli errori
  • Lavorare con gdb (Gnu Debugger)

Creazione di una libreria statica

  • Come una libreria statica viene collegata a un file eseguibile
  • Creazione di una libreria statica

Creazione di una libreria condivisa

  • Librerie statiche e librerie condivise (librerie dinamiche)
  • Come una libreria condivisa viene collegata e caricata in memoria in fase di esecuzione
  • Creazione di una libreria condivisa

Astrazione dei dati nel programma

  • Panoramica dell'interfaccia, delle specifiche e dell'implementazione
  • Creazione di un tipo di dati astratto
  • Test di regressione di un tipo di dati astratto

SearchInserimento e ordinamento dei dati

  • SearchArray che utilizzano la ricerca lineare, la ricerca binaria, ecc.
  • Ordinamento di matrici usando l'ordinamento di selezione, l'ordinamento di inserimento, l'ordinamento a bolle

Interprocesso Communication e segnali

  • Comprendere processi, socket e segnali
  • Implementazione di IPC utilizzando file condivisi, memoria condivisa, pipe, code di messaggi, socket, semafori, ecc.

Esecuzione parallela del programma C

  • Esecuzione simultanea di diverse parti di un programma tramite il multithreading
  • Scrivere un thread

Rete avanzata Programming

  • Riepilogo di TCP, UDP, IP e altri protocolli dominanti
  • Servire più porte, sopravvivere a improvvise interruzioni della rete, ecc.
  • Scrittura di potenti API socket

Verso un codice di alta qualità

  • Peer code review e programmazione parallela
  • L'importanza della codifica iterativa (refactoring)

Riassunto e conclusione

Requisiti

  • Esperienza di programmazione C

Pubblico

  • Programmatori
  • Gli sviluppatori
 28 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative