Schița de curs

Introducere

  • Prezentare generală a caracteristicilor și aplicațiilor limbajului C

Pregătirea mediului de dezvoltare

  • Alegerea unui IDE
  • Configurarea compilatorului

Scrierea unui program de probă

  • Definirea problemei
  • Codificarea conform cerințelor

Definirea domeniului de aplicare al variabilelor și funcțiilor

  • Înțelegerea domeniului, vizibilității și duratei de viață
  • Lucrul cu clase 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 înlănțuite 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 calificatori 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 tău

  • 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 de cod cross-platform

  • Înțelegerea directivelor compilatorului
  • Compilarea condiționată a codului

Îmbunătățirea performanței programului

  • Macro-uri vs funcții
  • Definirea macro-urilor pentru a rula fragmente de program

Alocarea dinamică a memoriei

  • Avantajul utilizării pointerilor: viteza de execuție
  • Pointeri către funcții
  • Accesarea memoriei și manipularea adresei

Depanarea unui program C

  • Tehnici avansate pentru verificarea, detectarea și corectarea erorilor
  • Lucrul cu gdb (Gnu Debugger)

Crearea unei biblioteci statice

  • Cum este legată o bibliotecă statică într-un fișier executabil
  • Crearea unei biblioteci statice

Crearea unei biblioteci partajate

  • Biblioteci statice vs biblioteci partajate (biblioteci dinamice)
  • Cum este legată și încărcată în memorie o bibliotecă partajată la runtime
  • Crearea unei biblioteci partajate

Abstractizarea datelor în programul tău

  • Prezentare generală a interfeței, specificațiilor și implementării
  • Crearea unui tip de date abstract
  • Testare de regresie a unui tip de date abstract

Căutarea și sortarea datelor

  • Căutarea în tablouri folosind căutare liniară, căutare binară etc.
  • Sortarea tablourilor folosind sortare prin selecție, sortare prin inserție, sortare cu bule

Comunicarea interproces și semnale

  • Înțelegerea proceselor, socketurilor și semnalelor
  • Implementarea IPC folosind fișiere partajate, memorie partajată, pipe-uri, cozi de mesaje, socketuri, semafoare etc.

Făcând ca programul tău C să ruleze în paralel

  • Rularea diferitelor părți ale unui program concurent prin multithreading
  • Scrierea unui fir de execuție

Programare avansată în rețea

  • Recapitulare a protocoalelor TCP, UDP, IP și altor protocoale dominante
  • Deservirea mai multor porturi, supraviețuirea întreruperilor bruște de rețea etc.
  • Scrierea de API-uri de socket puternice

Către un cod de înaltă calitate

  • Revizuirea codului de către colegi și programare paralelă
  • Importanța codificării iterative (refactorizare)

Rezumat și concluzii

Cerințe

  • Experiență în programarea C

Publicul țintă

  • Programatori
  • Dezvoltatori
 28 Ore

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite