Linux - Friheden til at programmere i C

Programmering med GNU/Linux

Version 2.0 - 25/01-2004

Donald J. Axel

SSLUG, Skåne Sjælland Linux User Group
Under udarbejdelse.

Indholdsfortegnelse
Forord
1. Oversigt over bogen
2. Om forfatteren og bogens historie
3. Linux-bøgerne
4. Ophavsret
5. Vi siger tak for hjælpen
6. Typografi
1. Repræsentation og modeller
1.1. Et professionelt værksted
1.1.1. Hvad er en debugger?
1.1.2. Biblioteker - et eksempel
1.1.3. Hvordan kommer man igang?
1.2. Repræsentation af data
1.3. Repræsentation af tal
1.4. Simulering - Modeller
1.5. Planlægning af et program
2. Funktioner, modularitet og relevante teknikker
2.1. ANSI prototyper og modularitet
2.1.1. Et brohoved.
2.1.2. Returværdi fra en funktion
2.2. Parameterlister og datatyper
2.2.1. Datatyper og beregninger
2.2.2. Prompt og input
2.3. ANSI prototyper og modularisering
2.3.1. Kursomregning
2.4. Filter programmer
2.4.1. Tegn og talværdier
2.4.2. Et typisk filter
2.4.3. Oversætter - teknik, forstadium
2.4.4. Summering af tal i en fil.
2.5. Analyse af input
2.5.1. En tag - parser
2.5.2. Tjek balancering af tags
2.5.3. Any-tag
2.5.4. Skelnen mellem tagtyper
2.5.5. Tilstandsvariabel
2.6. Fejl og håndteringen af dem.
2.6.1. Hvilke slags fejl er interessante
2.7. Flere små programmer og øvelsesforslag.
2.7.1. Tal formatering ved udskrift med printf.
2.7.2. Word count - med tak til Kernighan & Ritchie
2.8. Øvelser
2.8.1. Forslag til beregningsøvelser
3. Sammensatte datatyper og hvad man kan med dem i C
3.1. Sammensætning af flere oplysninger til en enhed
3.1.1. En struct
3.1.2. Interface til datatype
3.1.3. Tabel, array, liste, sekvens, bunke ...
3.1.4. Operationer på datatypen
3.2. Konkrete og abstrakte datatyper
3.3. FILE: En abstrakt type
4. Parsning - hvordan oversættes et C program
4.1. En declaration parser
4.2. En expression parser
4.3. En komplet compiler
4.3.1. uC - en mikroskopisk C compiler
4.4. Tilstandsmaskiner
A. Crash course i C sproget
A.1. C i få ord
A.1.1. Data typer
A.1.2. Operatorer
A.1.3. Flow kontrol
A.1.4. Modularitet
A.2. Lager klassifikation, storage classes
A.2.1. Externe variable, funktioner og konstanter
A.2.2. Storage specifications
A.2.3. Konstanter og memory protection
A.2.4. Storage specifikation og scope
A.2.5. Kontrolvariable for løkker eller loops
A.2.6. Flygtige ukontrollerede variable
A.2.7. Oversigt over variabel - anvendelse
A.3. GNU programmerings værktøjer
A.3.1. GNU C Compiler options
A.3.2. objdump eksempler
B. Revisionshistorie for bogen
C. Nyt i C99
C.1. Uddrag af nyheder i ANSI revisionen fra 1999
C.2. Liste i tilfældig rækkefølge
C.3. Nyt i C93 (AM1)
Stikordsregister