Mulțumim pentru trimiterea solicitării! Un membru al echipei noastre vă va contacta în curând.
Mulțumim pentru trimiterea rezervării! Un membru al echipei noastre vă va contacta în curând.
Schița de curs
Introducere
- Standardul ANSI
- Fundamentele C
- Tipuri de date și constante
- Intrări/Ieșiri simple și formatate
- Utilizarea memoriei
- Operatori și expresii
- Controlul fluxului
- Bucle
Funcții
- Rolul funcțiilor
- Transmitere prin valoare/referință
- Returnarea valorilor din funcții
- Funcții recursive
- Funcții de callback
- Implicații asupra stivei
- Funcții de bibliotecă vs. definite de utilizator
- Transmiterea unui număr variabil de argumente
Array-uri
- Definirea, inițializarea și utilizarea array-urilor
- Array-uri multidimensionale
- Array-uri de caractere și șiruri de caractere
- Array-uri și pointeri
- Transmiterea array-urilor către funcții
- Manipularea șirurilor de caractere cu și fără funcții de bibliotecă
Clase de stocare
- Domeniul de aplicare și durata de viață
- Automatice, statice, externe, registru
- Memorie (CPU / RAM)
Structuri și uniuni
- Scopul structurilor
- Declararea, inițializarea
- Accesarea ca obiecte
- Structuri imbricate
- Array de structuri
- Transmiterea structurilor prin funcții
- Alocarea memoriei și golurile
- Compararea structurilor
- Operații pe biți în structuri
- Typedef pentru portabilitate
- Uniuni
- Membri suprapuși
Tipuri de date enumerate
- Enum, indexare, enum vs #define
Operații pe biți
- AND ( & ), OR ( | ), XOR ( ^ )
- Complement ( ~ )
- Deplasare la stânga ( << ), deplasare la dreapta ( >> )
- Masking, setare, ștergere și testare a biților
Pointeri
- Scopul pointerilor
- Definirea pointerilor
- Operatorii & și *
- Atribuirea pointerilor
- Aritmetica pointerilor
- Indirecții multiple
- Tipuri avansate de pointeri
- Pointeri generici și null
- Pointeri către funcții
- Pointeri către array-uri și șiruri de caractere
- Array de pointeri
- Pointeri către structuri și uniuni
- Pointeri către memorie dinamică
- Pointeri Far, Near și Huge
- Conversie de tip a pointerilor
Alocarea dinamică a memoriei
- Malloc(), Calloc(), Realloc(), Free()
- Farmalloc(), Farcalloc()
Concepte de manipulare a fișierelor
- Conceptul de tip de date FILE
- Inode, structura FILE
- Pointer de fișier
- Rutine de manipulare a caracterelor
- Rutine de date formatate
- Rutine de date brute
- Acces aleator la fișier
Argumente din linia de comandă
- Argc, argv
- Intrări variabile în main
Compilator în practică
- Directive de preprocesor
- Compilator, asamblor, linker
- Compilare condiționată
- Compilare multiplă de fișiere
- Tehnici de optimizare a codului
- Volatile, #pragma
Structuri de date
- Liniare și neliniare
- Omogene și neomogene
- Statice și dinamice
- Liste simplu, dublu și circulare
- Stive și cozi
- Arbori binari
Tehnici de sortare și căutare
- Inserție, selecție, bubble, merge, quick, heap
Concepte și expunere în timp real
- Instrumente și mediu de dezvoltare
- Utilitarul Make
- Standardele de codificare din industrie
- Formatul fișierului obiect/executabil
- Debugger
21 Ore
Mărturii (1)
Posibilitatea de a solicita subiecte avansate chiar dacă acestea nu au fost planificate inițial.
Gabriel Chouinard - Spark Microsystems
Curs - FreeRTOS: Programming for Real Time Operating Systems
Tradus de catre o masina