Kursplan
Introduksjon
- Oversikt over C egenskaper og bruksområder
Forberede utviklingsmiljøet
- Velge en IDE
- Konfigurere kompilatoren
Skrive et eksempelprogram
- Definere problemet
- Kode i henhold til krav
Definere omfanget for variabler og funksjoner
- Forstå omfang, synlighet og levetid
- Arbeide med lagringsklasser: auto, extern, register, static
Håndtere data i et C-program
- Utenfor primitive datatyper
- Arbeide med avanserte datatyper: strukturer, lenkede lister, osv.
- Lagre ulike datatyper på samme minneplass
Endre egenskapene til en variabel
- Utenfor typemodifikatorer
- Arbeide med typekvalifikatorer: konstant, volatil, osv.
Manipulere bits i C
- Arbeide med data mindre enn en byte
- Arbeide med bitmanipuleringsoperatører
Styre programflyten
- Utenfor sekvensering
- Bruk av goto-uttrykk
Lesing og skrive av data
- Gjentagelse av inn-/utdatafunksjoner
- Forbedre lesbarheten i utdata
Utvikle krysplattforms kode
- Forstå kompilatordirektiver
- Kompilere kode betinget
Forbedre programydevelsen
- Makroer vs funksjoner
- Definere makroer for å kjøre programfragmenter
Dynamisk tildele minne
- Fordeler ved bruk av pekepinnere: kjøringshastighet
- Peker til funksjoner
- Tilgang til minne og manipulasjon av adresse
Feilsøke et C-program
- Avanserte teknikker for sjekking, oppdagelse og retting av feil
- Arbeide med gdb (GNU Debugger)
Opprette en statisk bibliotek
- Hvordan en statisk bibliotek lenkes inn i en kjørebar fil
- Opprette en statisk bibliotek
Opprette en delt bibliotek
- Statiske biblioteker vs delte biblioteker (dynamiske biblioteker)
- Hvordan en delt bibliotek lenkes og lastes inn i minne ved kjøretid
- Opprette en delt bibliotek
Abstrahere data i ditt program
- Oversikt over grensesnitt, spesifikasjon og implementering
- Opprette en abstrakt datatype
- Regresjonstesting av en abstrakt datatype
Søke og sortere data
- Søke i tabeller ved bruk av lineær søk, binær søk, osv.
- Sortere tabeller ved bruk av valgsortering, innsettingssortering, boblesortering
Interprosesskommunikasjon og signaler
- Forstå prosesser, sokkeler og signaler
- Implementere IPC ved bruk av delte filer, delt minne, rør, meldingskøer, sokkeler, semaforer, osv.
Få ditt C-program til å kjøre parallelt
- Kjøre ulike deler av et program samtidig ved bruk av flertråding
- Skrive en tråd
Avansert nettverksprogrammering
- Gjentagelse av TCP, UDP, IP og andre dominerende protokoller
- Betjene flere porter, overleve plutselige nettverksforstyrrelser, osv.
- Skrive kraftige socket-APIer
Mot høy kvalitet kode
- Kollektiv kodegjennomgang og parallell programmering
- Viktigheten av iterativ kodering (refaktoring)
Sammenfatning og konklusjon
Krav
- Erfaring med C-programmering
Målgruppe
- Programmerere
- Utviklere
Referanser (2)
øvelsene og metodikken
Javier MIllan Rios - si
Kurs - Advanced C Programming
Maskinoversatt
An interesting and broad scope