Kursplan
Introduktion
- Översikt över C:s funktioner och tillämpningar
Förbereda utvecklingsmiljön
- Välja en IDE (Integrated Development Environment)
- Konfigurera kompilatorn
Skriva ett exempelprogram
- Definiera problemet
- Koda enligt krav
Definiera omfånget för variabler och funktioner
- Förstå omfång, synlighet och livslängd
- Arbeta med lagringsklasser: auto, extern, register, static
Hantera data i ett C-program
- Förutom primitiva datatyper
- Arbeta med avancerade datatyper: strukturer, länkade listor, etc.
- Lagra olika datatyper i samma minnesplats
Ändra egenskaperna för en variabel
- Förutom typmodifikatorer
- Arbeta med tyckvalideringar: constant, volatile, etc.
Hantera bitar i C
- Arbeta med data mindre än en byte
- Arbeta med bitmanipulationsoperatorer
Kontrollera programflödet
- Förutom sekvensering
- Använda goto-satsen
Läsa och skriva data
- Repetering av in- och utmatningsfunktioner
- Förbättra utmatningsläsbarheten
Utveckla plattformsoberoende kod
- Förstå kompilatordirektiv
- Kompilera kod villkorligt
Förbättra programprestandan
- Macros vs funktioner
- Definiera macros för att köra programsnuttar
Dynamisk minnesallokering
- Fördelen med att använda pekar: körningssnabbhet
- Pekar till funktioner
- Åtkomst till minne och manipulering av adresser
Felsöka ett C-program
- Avancerade tekniker för att kontrollera, upptäcka och korrigera fel
- Arbeta med gdb (Gnu Debugger)
Skapa en statisk bibliotek
- Hur ett statiskt bibliotek länkas in i ett körbart fil
- Skapa ett statiskt bibliotek
Skapa ett delat bibliotek
- Statiska bibliotek vs delade bibliotek (dynamiska bibliotek)
- Hur ett delat bibliotek länkas och läses in i minnet vid körning
- Skapa ett delat bibliotek
Abstrahera data i ditt program
- Översikt över gränssnitt, specifikation och implementation
- Skapa en abstrakt datatyp
- Regressions-testa en abstrakt datatyp
Söka och sortera data
- Söka i arrayer med lineär sökning, binär sökning, etc.
- Sortera arrayer med selection sort, insertion sort, bubble sort
Interprocess kommunikation och signaler
- Förstå processer, soketer och signaler
- Implementera IPC (Inter-Process Communication) med delade filer, delat minne, pipes, meddelansköer, soketer, semaforer, etc.
Göra ditt C-program köra parallellt
- Köra olika delar av ett program samtidigt genom multithreading
- Skriva en tråd
Avancerad nätverksprogrammering
- Repetering av TCP, UDP, IP och andra dominerande protokoll
- Tjäna flera portar, överleva abrupta nätverksavbrott, etc.
- Skriva kraftfulla soket-API:er
Sträva efter högkvalitativ kod
- Kollegial kodgranskning och parallell programmering
- Betydelsen av iterativ kodning (refactoring)
Sammanfattning och slutsats
Krav
- Erfarenhet av C-programmering
Målgrupp
- Programmerare
- Utvecklare
Vittnesmål (2)
övningarna och metodiken
Javier MIllan Rios - si
Kurs - Advanced C Programming
Maskintolkat
Ett intressant och brett område
Maciej Perkowski - Nordic Semiconductor
Kurs - Advanced C Programming
Maskintolkat