Linux - Friheden til at programmere i C
Programmering med GNU/Linux
Version 2.0.20041104 - 2020-12-31
Donald J. Axel
SSLUG, Skåne Sjælland Linux User Group Ophavsret © 2000-2005 Forfatteren har ophavsret til bogen, men udgiver den under “Åben dokumentlicens (ÅDL) - version 1.0”.
Forskellige programmeringsteknikker illustreret med eksempler, mest for C programmører med lidt erfaring, men begyndere kan bladre om i Appendix A og se, om det er noget for dem.
Indholdsfortegnelse Forord1.Oversigt over bogen2.Om forfatteren og bogens historie3.Linux-bøgerne4.Ophavsret5.Vi siger tak for hjælpen6.Typografi1.Repræsentation og modeller1.1.Et professionelt værksted1.1.1.Hvad er en debugger?1.1.2.Biblioteker - et eksempel1.1.3.Hvordan kommer man igang?1.2.Repræsentation af data1.3.Repræsentation af tal1.4.Simulering - Modeller1.5.Planlægning af et program2.Funktioner, modularitet og relevante teknikker2.1.ANSI prototyper og modularitet2.1.1.Et brohoved.2.1.2.Returværdi fra en funktion2.2.Parameterlister og datatyper2.2.1.Datatyper og beregninger2.2.2.Prompt og input2.3.ANSI prototyper og modularisering2.3.1.Kursomregning2.4.Filter programmer2.4.1.Tegn og talværdier2.4.2.Et typisk filter2.4.3.Oversætter - teknik, forstadium2.4.4.Summering af tal i en fil.2.5.Analyse af input2.5.1.En tag - parser2.5.2.Tjek balancering af tags2.5.3.Any-tag2.5.4.Skelnen mellem tagtyper2.5.5.Tilstandsvariabel2.6.Fejl og håndteringen af dem.2.6.1.Hvilke slags fejl er interessante2.7.Flere små programmer og øvelsesforslag.2.7.1.Tal formatering ved udskrift med printf.2.7.2.Word count - med tak til Kernighan & Ritchie2.8.Øvelser2.8.1.Forslag til beregningsøvelser3.Sammensatte datatyper og hvad man kan med dem i C3.1.Sammensætning af flere oplysninger til en enhed3.1.1.En //struct//3.1.2.Interface til datatype3.1.3.Tabel, array, liste, sekvens, bunke ...3.1.4.Operationer på datatypen3.2.Konkrete og abstrakte datatyper3.3.FILE: En abstrakt type4.Parsning - hvordan oversættes et C program4.1.En declaration parser4.2.En expression parser4.3.En komplet compiler4.3.1.uC - en mikroskopisk C compiler4.4.TilstandsmaskinerA.Crash course i C sprogetA.1.C i få ordA.1.1.Data typerA.1.2.OperatorerA.1.3.Flow kontrolA.1.4.ModularitetA.2.Lager klassifikation, storage classesA.2.1.Externe variable, funktioner og konstanterA.2.2.Storage specificationsA.2.3.Konstanter og memory protectionA.2.4.Storage specifikation og scopeA.2.5.Kontrolvariable for løkker eller loopsA.2.6.Flygtige ukontrollerede variableA.2.7.Oversigt over variabel - anvendelseA.3.GNU programmerings værktøjerA.3.1.GNU C Compiler optionsA.3.2.objdump eksemplerB.Revisionshistorie for bogenC.Nyt i C99C.1.Uddrag af nyheder i ANSI revisionen fra 1999C.2.Liste i tilfældig rækkefølgeC.3.Nyt i C93 (AM1)Stikordsregister Figurliste 1.Donald Axel2.ÅDL1-1.glade, en GTK+ GUI generator.1-2.glade, projekt vindue.2-1.Eksempel på fejlhåndtering, informativ besked3-1.Binært træ Eksempelliste 1-1.tallene fra 0 til 7 og 0 til -7.1-2.tallene fra 0 til 7 og 0 til -7.2-1.HELLO - statuskode2-2.Skriv message på standard output.2-3.En character pointer2-4.HELLO - beregning.2-5.Input og beregning.2-6.Dollar omregning, spaghetti[1]version.2-7.Dollar omregning med beregning i funktion.2-8.Dollar omregning, modul version.2-9.kr2dollar modul.2-10.Dollar omregning, double version.2-11.kr2dollar, return type double, module.2-12.Header fil for kr2dollar2-13.Simpelt filter, input til output.2-14.Filter, som skriver ascii ordinal value.2-15.Simpelt filter som character counter.2-16.Codepage 865 til iso8859-1, forstadium.2-17.Terrasse 22-18.Terrasse 32-19.mime afkodning, std.input2-20.Mime afkodning, fil input2-21.Filter som konverterer linjer med tal til summen af tallene.2-22.En tag - parser, forstadium2-23.Tjek om sgml-tags balancerer2-24.Udvidelse af parse-level1 med kendte tag-typer2-25.Ord - tælling2-26.Tallene fra 0 til 7 i hexadecimal notation.2-27.Simpel ordtælling3-1.En struct3-2.Definition af en tomat-variabel3-3.Struct type ved hjælp af typedef3-4.Erklæring og definition3-5.Udvælgelse af oplysninger3-6.Kort-bunke3-7.Start punkt for kortbunke3-8.Kompilering af samme program med C og C++ oversættere3-9.Talklasse - en abstraktion3-10.FILE typen4-1.Calculator, recursive descent expression parsing4-2.Assembler programmering4-3.Output fra GNU-C oversætter4-4.uC oversættelse4-5.C oversætter, parsning på øverste niveauA-1.Hello world! programmet.A-2.Hello, World! med type-specifikationer.A-3.EnumerationA-4.UnionA-5.Operator PræcedensA-6.Simpel krypteringA-7.Konstant strengA-8.Scope eller synlighedA-9.Extern declarationA-10.En lokal kontrol variabel—-
| næste | ||
| Forord |
