Kursplan

Introduktion

  • Översikt över C-funktioner och applikationer

Förbereda utvecklingsmiljön

  • Att välja en IDE
  • Konfigurera kompilatorn

Att skriva ett exempelprogram

  • Att definiera problemet
  • Kodning enligt krav

Definiera omfattningen av variabler och funktioner

  • Förstå omfattning, synlighet och livslängd
  • Arbeta med lagringsklasser: auto, extern, register, static

Hantera data i ett C-program

  • Bortom primitiva datatyper
  • Arbeta med avancerade datatyper: strukturer, länkade listor, etc.
  • Lagring av olika datatyper på samma minnesplats

Ändra egenskaperna för en variabel

  • Bortom typmodifierare
  • Arbeta med typkvalificerare: konstant, flyktig, etc.

Manipulera bitar i C

  • Arbeta med data mindre än en byte
  • Arbeta med bitmanipuleringsoperatörer

Styr flödet av ditt program

  • Bortom sekvensering
  • Använder goto-satsen

Läsa och skriva data

  • Sammanfattning av ingångs-/utgångsfunktioner
  • Förbättrar utdataläsbarheten

Utveckla plattformsövergripande kod

  • Förstå kompilatordirektiv
  • Kompilera kod villkorligt

Förbättra programprestanda

  • Makron vs funktioner
  • Definiera makron för att köra programfragment

Dynamisk allokering av minne

  • Fördel med att använda pekare: exekveringshastighet
  • Pekare till funktioner
  • Accessminne och manipulera adressen

Felsökning av ett C-program

  • Avancerade tekniker för att kontrollera, upptäcka och korrigera fel
  • Arbeta med gdb (Gnu Debugger)

Skapa ett statiskt bibliotek

  • Hur ett statiskt bibliotek länkas till en körbar fil
  • Skapa ett statiskt bibliotek

Skapa ett delat bibliotek

  • Statiska bibliotek vs delade bibliotek (dynamiska bibliotek)
  • Hur ett delat bibliotek länkas och laddas in i minnet vid körning
  • Skapa ett delat bibliotek

Abstrahera data i ditt program

  • Översikt över gränssnitt, specifikation och implementering
  • Skapa en abstrakt datatyp
  • Regressionstestning av en abstrakt datatyp

Searching och sortering av data

  • Searcharrayer med linjär sökning, binär sökning, etc.
  • Sorteringsmatriser använder urvalssortering, infogningssortering, bubbelsortering

Interprocess Communication och signaler

  • Förstå processer, uttag och signaler
  • Implementering av IPC med hjälp av delade filer, delat minne, pipes, meddelandeköer, sockets, semaforer, etc.

Få ditt C-program att köras parallellt

  • Köra olika delar av ett program samtidigt genom multithreading
  • Skriver en tråd

Avancerat Networking Programming

  • Sammanfattning av TCP, UDP, IP och andra dominerande protokoll
  • Betjänar flera portar, överlever plötsliga nätverksstörningar, etc.
  • Skriver kraftfulla socket API:er

Mot högkvalitativ kod

  • Peer code review och parallell programmering
  • Vikten av iterativ kodning (refaktorering)

Sammanfattning och slutsats

Krav

  • C programmeringserfarenhet

Publik

  • Programmerare
  • Utvecklare
 28 timmar

Antal deltagare



Price per participant

Vittnesmål (2)

Relaterade Kurser

Combined C/C++, JAVA and Web Application Security

28 timmar

Advanced Java Security

21 timmar

Combined JAVA, PHP and Web Application Security

28 timmar

Standard Java Security

14 timmar

Java and Web Application Security

21 timmar

Advanced Java, JEE and Web Application Security

28 timmar

Relaterade Kategorier