Schița de curs
Introducere
- Panorama caracteristicilor și aplicațiilor C
Prepararea Mediului de Dezvoltare
- Alegerea unei IDE-uri (Medii de Dezvoltare Integrată)
- Configurarea compilatorului
Scrierea unui Program Exemplu
- Definirea problemei
- Codificarea în funcție de cerințe
Definirea Domeniului Variabilelor și Funcțiilor
- Înțelegerea domeniului, vizibilității și duratei vieții variabilelor
- Lucrul cu clasele de stocare: auto, extern, register, static
Administrarea Datelor într-un Program C
- Mai multe decât tipurile de date primitive
- Lucrul cu tipuri de date avansate: structuri, liste legate, etc.
- Stocarea diferitelor tipuri de date în aceeași locație de memorie
Modificarea Proprietăților unei Variabile
- Mai multe decât modificatorii de tip
- Lucrul cu calificatorii de tip: constant, volatile, etc.
Manipularea Biților în C
- Lucrul cu date mai mici decât un octet
- Lucrul cu operatori de manipulare a biților
Controlul Fluxului Programului
- Mai multe decât secvențierea
- Folosirea instrucțiunii goto
Citirea și Scrierea Datelor
- Recapitularea funcțiilor de Intrare/Ieșire
- Mărirea citibilității ieșirilor
Dezvoltarea Codului Cross-Platform
- Înțelegerea directivelor compilatorului
- Compilarea codului condițional
Mărirea Performanței Programului
- Macro-uri vs funcții
- Definirea macro-urilor pentru a rula fragmente de program
Alocarea Memoriei Dinamică
- Vantajul utilizării pointerelor: viteza de execuție
- Pointeri la funcții
- Accesarea memoriei și manipularea adreselor
Depanarea unui Program C
- Tehnici avansate pentru verificarea, detectarea și corectarea erorilor
- Lucrul cu gdb (Gnu Debugger)
Crearea unei Biblioteci Statische
- Cum se linkă o bibliotecă statică în fișierul executabil
- Crearea unei biblioteci statice
Crearea unei Biblioteci Compartionate (Dinamice)
- Biblioteci statice vs biblioteci compartionate (dinamice)
- Cum se linkă și încarcă în memorie o bibliotecă compartită la rulare
- Crearea unei biblioteci compartionate
Abstractizarea Datelor din Programul Dvs.
- Panorama interfeței, specificațiilor și implementării
- Crearea unui tip de dată abstract
- Testarea regresiv a unui tip de dată abstract
Căutarea și Sortarea Datelor
- Căutarea în tabele folosind căutare liniară, binară, etc.
- Sortarea tabelelor folosind sortarea prin selecție, inserare, bublonare
Comunicarea Interproces și Semnalele
- Înțelegerea proceselor, socket-urilor și semnalelor
- Implementarea IPC (comunicare interproces) folosind fișiere compartionate, memorie compartită, pipe-uri, cozi de mesaje, socket-uri, semafoare, etc.
Rularea Programului Dvs. în Paralel
- Rularea diferitelor părți ale unui program simultan prin multithreading
- Scrierea unui thread
Programare Rețea Avansată
- Recapitularea protocoalelor TCP, UDP, IP și alte protocoale dominante
- Servirea mai multor porturi, supraviețuirea disrupțiilor rețelei brusc, etc.
- Scrierea de API-uri puternice pentru socket-uri
Către Cod de Înaltă Calitate
- Revizuirea codului între perechi și programarea paralelă
- Importanța codificării iterative (refactoring)
Sumeazări și Concluzii
Cerințe
- Experiență în programare C
Audiență
- Programatori
- Dezvoltatori
Mărturii (2)
exercițiile și metodologia
Javier MIllan Rios - si
Curs - Advanced C Programming
Tradus de catre o masina
Un spectru interesant și amplu
Maciej Perkowski - Nordic Semiconductor
Curs - Advanced C Programming
Tradus de catre o masina