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 relativi

Combined C/C++, JAVA and Web Application Security

28 ore

Advanced Java Security

21 ore

Combined JAVA, PHP and Web Application Security

28 ore

Standard Java Security

14 ore

Java and Web Application Security

21 ore

Advanced Java, JEE and Web Application Security

28 ore

Categorie relative