Schița de curs
Introducere
- Prezentare generală a caracteristicilor și aplicațiilor C
Pregătirea mediului de dezvoltare
- Alegerea unui IDE
- Configurarea compilatorului
Scrierea unui program de probă
- Definirea problemei
- Codificarea în conformitate cu cerințele
Definirea domeniului de aplicare al variabilelor și funcțiilor
- Înțelegerea domeniului de aplicare, a vizibilității și a duratei de viață
- Lucrul cu clasele de stocare: auto, extern, register, static
Gestionarea datelor într-un program C
- Dincolo de 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
- Dincolo de 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 operatorii de manipulare a biților
Controlul fluxului programului dvs.
- Dincolo de secvențiere
- Utilizarea instrucțiunii goto
Citirea și scrierea datelor
- Recapitulare a funcțiilor de intrare/ieșire
- Îmbunătățirea lizibilității ieșirii
Dezvoltarea codului pentru mai multe platforme
- Înțelegerea directivelor compilatorului
- Compilarea condiționată a codului
Îmbunătățirea performanței programului
- Macros vs funcții
- Definirea macrourilor pentru a executa fragmente de program
Alocarea dinamică a memoriei
- Avantajul folosirii pointerilor: viteza de execuție
- Indicatori către funcții
- Access în memorie și manipularea adresei
Depanarea unui program C
- Tehnici avansate de verificare, detectare și corectare a erorilor
- Lucrul cu gdb (Gnu Debugger)
Crearea unei biblioteci statice
- Cum se leagă o bibliotecă statică în fișierul executabil
- Crearea unei biblioteci statice
Crearea unei biblioteci partajate
- Biblioteci statice vs biblioteci partajate (biblioteci dinamice)
- Modul în care o bibliotecă partajată este legată și încărcată în memorie la momentul execuției
- Crearea unei biblioteci partajate
Abstractizarea datelor în programul dvs.
- Prezentare generală a interfeței, specificației și implementării
- Crearea unui tip de date abstract
- Testarea de regresie a unui tip de date abstract
Searching și sortarea datelor
- Searching array-uri folosind căutarea liniară, căutarea binară etc.
- Sortarea tablourilor utilizând sortarea prin selecție, sortarea prin inserție, sortarea cu bule.
Interproces Communication și semnale
- Înțelegerea proceselor, a socket-urilor și a semnalelor
- Implementarea IPC folosind fișiere partajate, memorie partajată, țevi, cozi de mesaje, prize, semafoare etc.
Efectuarea programului C în paralel
- Rularea simultană a diferitelor părți ale unui program prin multithreading
- Scrierea unui fir de execuție
Rețele avansate Programming
- Recapitulare a TCP, UDP, IP și a altor protocoale dominante
- Deservirea mai multor porturi, supraviețuirea întreruperilor bruște ale rețelei etc.
- Scrierea unor API-uri de socket puternice
Către un cod de înaltă calitate
- Revizuirea codului de către colegi și programarea paralelă
- Importanța codării iterative (refactoring)
Rezumat ș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
An interesting and broad scope