C von Kopf bis Fuß:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Beijing ; Köln [u.a.]
O'Reilly
2012
|
Ausgabe: | 1. Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXXV, 591 S. Ill., graph. Darst. |
ISBN: | 9783868993868 386899386X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040387168 | ||
003 | DE-604 | ||
005 | 20131001 | ||
007 | t | ||
008 | 120827s2012 gw ad|| |||| 00||| ger d | ||
015 | |a 12,N24 |2 dnb | ||
016 | 7 | |a 1023059711 |2 DE-101 | |
020 | |a 9783868993868 |c Pb. : EUR 49.90 (DE), EUR 51.30 (AT) |9 978-3-86899-386-8 | ||
020 | |a 386899386X |9 3-86899-386-X | ||
024 | 3 | |a 9783868993868 | |
035 | |a (OCoLC)812245826 | ||
035 | |a (DE-599)DNB1023059711 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-M347 |a DE-83 |a DE-858 |a DE-1051 |a DE-523 |a DE-29T |a DE-573 |a DE-19 |a DE-859 |a DE-20 |a DE-11 |a DE-91G |a DE-862 |a DE-B768 |a DE-92 |a DE-1047 |a DE-860 |a DE-898 |a DE-473 | ||
082 | 0 | |a 005.133 |2 22/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 358f |2 stub | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Griffiths, David |d 1969- |e Verfasser |0 (DE-588)1029425191 |4 aut | |
240 | 1 | 0 | |a Head first C |
245 | 1 | 0 | |a C von Kopf bis Fuß |c David Griffiths ; Dawn Griffiths |
250 | |a 1. Aufl. | ||
264 | 1 | |a Beijing ; Köln [u.a.] |b O'Reilly |c 2012 | |
300 | |a XXXV, 591 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Griffiths, Dawn |e Verfasser |0 (DE-588)1030175160 |4 aut | |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025240569&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-025240569 |
Datensatz im Suchindex
DE-BY-862_location | 2000 |
---|---|
DE-BY-FWS_call_number | 2000/ST 250 C01 G855 |
DE-BY-FWS_katkey | 450254 |
DE-BY-FWS_media_number | 083000507788 |
_version_ | 1806173908887404544 |
adam_text | IMAGE 1
INHALT (IN T&ERBLICK)
EINFUEHRUNG
1 ERSTE SCHRITTE MIT C: EINTAUCHEN
2 SPEICHER U N D ZEIGER: WORAUF ZEIGST DU?
2.5 STRINGS: STRINGTKEORIE
3 KLEINE WERKZEUGE ERSTELLEN: EINE SACHE TUN, UND DAS GUT
4 MEHRERE QUELLDATEIEN: ERLEGEN UND ZUSAMMENBAUEN
1. C-PROJEKT: ARDUINO
5 STRUCTS, UNIONS U N D BITFELDER: EIGENE STRUKTUREN
6 DATENSTRUKTUREN U N D DYNAMISCHER SPEICHER: BRUECKEN BAUEN
I FORTGESCHRITTENE FUNKTIONEN: IHRE FUNKTIONEN A U F VORDERMANN BRINGEN
8 STATISCHE U N D DYNAMISCHE BIBLIOTHEKEN: CODE- WIEDERVERWENDUNG
2. C-PROJEKT: OPENCV
9 PROZESSE U N D SYSTEMAUFRUFE: GRENZVERLETZUNGEN
10 INTERPROZESSKOMMUNIKATION: E I N NETTES GESPRAECH
I I SOCKETS U N D NETZWERKE: 127.0.0.1 IST EIN TOLLER ORT
12 THREADS: PARALLELUIELTEN
3. C-PROJEKT: BLASTEROIDS
A WAS UEBRIG BLEIBT: DIE TOP TEN (NICHT BEHANDELT)
B C-THEMEN: ZUSAMMENFASSUNGEN IM UBERBLICK
INHALT (JETZT AUSFUEHRLICH)
EINFUEHRUNG IHR GEHIRN UND C. SIE VERSUCHEN, ETWAS ZU LERNEN, UND IHR
HIRN TUT SEIN BESTES, DAMIT DAS GELERNTE NICHT HAENGEN BLEIBT. E S DENKT
NAEMLICH: WIR SOLLTEN LIEBER ORDENTLICH PLATZ FUER WICHTIGERE
DINGE LASSEN, Z. B. FUER DAS WISSEN DARUEBER, WELCHE TIERE EINEM
GEFAEHRLICH WERDEN KOENNTEN ODER
DASS ES EINE GANZ SCHLECHTE IDEE IST, NACKT SNOWBOARD ZU FAHREN. TJA,
WIE SCHAFFEN WIR ES NUN, IHR
GEHIRN DAVON ZU UEBERZEUGEN, DASS IHR LEBEN DAVON ABHAENGT, ETWAS UEBER C
ZU WISSEN?
FUER WEN IST DIESES BUCH? XXVI
WIR WISSEN, WAS SIE DENKEN. XXVII
METAKOGNITION XXIX
SO MACHEN SIE SICH I H R GEHIRN UNTERTAN XXXI
LIES MICH XXXII
DIE TECHNISCHEN GUTACHTER XXXIV
DANKSAGUNGEN XXXV
1
41
8 3
103
157
207
217
267
311
351
389
397
429
467
501
523
539
553
VII
HTTP://D-NB.INFO/1023059711
IMAGE 2
ERSTE SCHRITTE MIT C
EINTAUCHEN
WOLLEN SIE DEM RECHNER AUF DIE FINGER SCHAUEN? MUESSEN SIE
HOCHLEISTUNGSCODE FUER EIN NEUES SPIEL SCHREIBEN? EINEN ARDUINO
-CONTROLLER PROGRAMMIEREN? ODER DIESE RAFFINIERTE EXTERNE BIBLIOTHEK IN
IHRER IPHONE-APP
EINSETZEN? WENN DAS DER FALL IST, WIRD C IHR BESTER FREUND WERDEN. C
ARBEITET AUF EINER
VIEL ELEMENTAREREN EBENE ALS DIE MEISTEN ANDEREN PROGRAMMIERSPRACHEN.
WENN SIE
C VERSTANDEN HABEN, WERDEN SIE AUCH VIEL BESSER VERSTEHEN, WAS
EIGENTLICH IM HER
ZEN DER MASCHINE VOR SICH GEHT. C KANN IHNEN SOGAR HELFEN, ANDERE
SPRACHEN BESSER
ZU VERSTEHEN. ZOEGERN SIE NICHT! MACHEN SIE IHREN COMPILER BEREIT - AUF
DASS SIE SCHON
BALD LOSLEGEN KOENNEN.
C, DIE SPRACHE FUER KLEINE, SCHNELLE PROGRAMME 2
ABER WIE SIEHT EIN VOLLSTAENDIGES C-PROGRAMM AUS? 5
ABER WIE FUEHREN SIE DAS PROGRAMM AUS? 9
ZWEI ARTEN VON BEFEHLEN 14
SO SIEHT DER CODE BISLANG AUS 15
KARTENZAEHLEN? IN C? 17
VERGLEICHE KENNEN NICHT NUR GLEICHHEIT . . . 18
WIE SIEHT DER CODE JETZT AUS? 25
WEICHEN STELLEN 26
WENN EINMAL KEINMAL IST ... 29
SCHLEIFEN HABEN OFT EINE AEHNLICHE STRUKTUR ... 30
MIT BREAK AUSBRECHEN . . . 31
I H R C-WERKZEUGKASTEN 40
IMAGE 3
DER INHALT
SPEICHER UND ZEIGER
WORAUF ZEIGST DU?
WENN SIE C WIRKLICH BEHERRSCHEN WOLLEN, MUESSEN SIE VERSTEHEN, WIE C MIT
SPEICHER UMGEHT. C BIETET IHNEN ZIEMLICH UMFANGREICHE MOEGLICHKEITEN, ZU
STEUERN, WIE IHR PROGRAMM DEN SPEICHER DES SYSTEMS NUTZT. IN DIESEM
KAPITEL WERDEN WIR DEN VORHANG LUEFTEN UND IHNEN
ZEIGEN, WAS PASSIERT, WENN SIE VARIABLEN LESEN UND SCHREIBEN. SIE WERDEN
ERFAHREN,
WIE ARRAYS FUNKTIONIEREN, WIE MAN EINIGE GARSTIGE SPEICHERPROBLEME
VERMEIDET, UND
NATUERLICH AUCH EINSEHEN LERNEN, DASS DER WEG ZUM GEWIEFTEN
C-PROGRAMMIERER NUR UEBER
DIE BEHERRSCHUNG VON ZEIGERN UND DER SPEICHERADRESSIERUNG FUEHRT.
C-CODE ENTHAELT ZEIGER
EIN BLICK IN DEN SPEICHER
SEGEL SETZEN MIT ZEIGERN
VERSUCHEN WIR, DER VARIABLEN EINEN ZEIGER ZU UEBERGEBEN
SPEICHERZEIGER EINSETZEN
WIE UEBERGIBT M A N EINER FUNKTION EINEN STRING?
ARRAY-VARIABLEN SIND WIE ZEIGER . . .
WAS DER COMPUTER DENKT, WENN ER IHREN CODE AUSFUEHRT
ABER ARRAY-VARIABLEN SIND NICHT DAS GLEICHE WIE ZEIGER
W A R U M ARRAYS WIRKLICH MIT 0 BEGINNEN
WARUM ZEIGER TYPEN HABEN
ZEIGER FUER DIE DATENEINGABE VERWENDEN
AUFGEPASST MIT SCANFQ
FGETS() IST EINE ALTERNATIVE ZU SCANFQ
STRINGLITERALE KOENNEN NIE AKTUALISIERT WERDEN
WENN SIE EINEN STRING AENDERN WOLLEN, KOPIEREN SIE IHN
SPEICHER SPEICHERN
I H R C-WERKZEUGKASTEN
47
8 1
4 2
80
67
66
65
62
5 9
6 1
4 3
4 4
48
5 3
55
72
54
74
IMAGE 4
STRINGS
STRINGTHEORIE
STRINGS MUSS MAN NICHT NUR LESEN. SIE HABEN ERFAHREN, DASS STRINGS IN C
EIGENTLICH CHAR-ARRAYS SIND, ABER WAS C SIE MIT IHNEN ANSTELLEN LAESST,
DAS WISSEN SIE NOCH NICHT. DAZU MUESSEN WIR UNS STRING.H
ZUWENDEN, STRING.H IST EIN TEIL DER C-STANDARDBIBLIOTHEK, DER SICH GANZ
DER STRINGMANIPULATION WIDMET. WENN SIE STRINGS VERKETTEN, EINEN STRING
IN EINEN ANDEREN KOPIEREN
ODER ZWEI STRINGS VERGLEICHEN WOLLEN, KOENNEN DIE FUNKTIONEN IN STRING. H
NUETZLICH SEIN.
IN DIESEM KAPITEL WERDEN SIE SEHEN, WIE SIE EIN ARRAY MIT STRINGS
ERSTELLEN, BEVOR WIR
UNS GENAUER ANSEHEN WERDEN, WIE MAN MIT DER FUNKTION S T R S T R ( ) IN
STRINGS SUCHT.
FRANK VERZWEIFELT GESUCHT
EIN ARRAY MIT ARRAYS ERSTELLEN
STRINGS FINDEN, DIE DEN SUCHTEXT ENTHALTEN
DIE FUNKTION STRSTR() NUTZEN
ZEIT, DASS WIR UNS UNSEREN CODE ANSEHEN
ARRAY VON ARRAYS VS. ARRAY VON ZEIGERN
I H R C-WERKZEUGKASTEN
85
84
86
89
94
98
101
IMAGE 5
DER INHALT
KLEINE WERKZEUGE ERSTELLEN
EINE SACHE TUN, UND DAS GUT
ALLE BETRIEBSSYSTEME BEINHALTEN KLEINE WERKZEUGE. KLEINE IN C GESCHRIEBE
WERKZEUGE ERLEDIGEN KLEINE SPEZIELLE AUFGABEN, SCHREIBEN ODER LESEN
DATEIEN ODER FILTERN DATEN. WENN SIE KOMPLEXERE AUFGABEN BEWAELTIGEN
MUESSEN, KOENNEN SIE
MEHRERE WERKZEUGE HINTEREINANDERSCHALTEN. ABER WIE WERDEN DIESE KLEINEN
WERKZEUGE ERSTELLT?
IN DIESEM KAPITEL WERDEN WIR UNS DIE BAUSTEINE DER ERSTELLUNG KLEINER
WERKZEUGE ANSCHAUEN.
SIE WERDEN LERNEN, WIE MAN KOMMANDOZEILENOPTIONEN STEUERT, WIE MAN
INFORMATIONSSTROEME
VERARBEITET UND UMLEITUNGEN EINSETZT, UM IM HANDUMDREHEN WERKZEUGE ZU
BAUEN.
KLEINE WERKZEUGE KOENNEN GROSSE PROBLEME LOESEN 104
SO SOLLTE DAS PROGRAMM FUNKTIONIEREN 108
ABER SIE NUTZEN NOCH KEINE DATEIEN ... 109
SIE KOENNEN IHRE DATEN UMLEITEN 110
DIE STANDARDFEHLERAUSGABE 120
STANDARDMAESSIG WIRD DIE STANDARDFEHLERAUSGABE A N DEN BILDSCHIRM GEBUNDEN
121
FPRINTF]} SCHREIBT IN EINEN DATENSTROM 122
AKTUALISIEREN WIR DEN CODE, DAMIT ER FPRINTFQ NUTZT 123
KLEINE WERKZEUGE SIND FLEXIBEL 128
AENDERN SIE GEO2JSON NICHT 129
EINE ANDERE AUFGABE ERFORDERT EIN ANDERES WERKZEUG 130
EINGABEN U N D AUSGABEN MIT EINER PIPE VERBINDEN 131
DAS BERMUDA-WERKZEUG 132
ABER WAS IST, WENN SIE M E H R ALS EINE DATEI AUSGEBEN WOLLEN? 137
D E R EIGENE DATENSTROM 138
MAINQ KANN M E H R 141
LASSEN SIE DIE BIBLIOTHEK FUER SICH WIRKEN 149
I H R C-WERKZEUGKASTEN 156
IMAGE 6
DER INHALT
4
MSSHV&CE QUELLDCTTEIEN ZERLEGEN UND ZUSAMMENBAUEN WENN SIE EIN GROSSES
PROGRAMM ERSTELLEN, HEISST DAS NICHT, DASS SIE AUCH EINE GROSSE QUELLDATEI
HABEN WOLLEN. KOENNEN SIE SICH VORSTELLEN, WIE SCHWIERIG UND
ZEITAUFWENDIG DIE WARTUNG EINER EINZIGEN QUELLDATEI BEI UMFANGREICHEN
PROGRAMMEN WERDEN KANN? IN DIESEM KAPITEL WERDEN SIE ERFAHREN, WIE IHNEN
C ERMOEGLICHT, QUELLCODE IN KLEINE, HANDHABBARE HAPPEN ZU ZERLEGEN UND
DIESE DANN ZU EINEM GROSSEN PROGRAMM ZUSAMMENZUSETZEN. AUF DEM WEG
DORTHIN WERDEN SIE ETWAS MEHR UEBER DIE FEINHEITEN VON DATENTYPEN
ERFAHREN UND WERDEN JEMANDEM UEBER DEN WEG LAUFEN, DER EINER IHRER BESTEN
FREUNDE WERDEN WIRD: MAKE. DATENTYPEN-SCHNELLKURS 162 GROSSES D A R F M A
N NICHT IN KLEINES STECKEN 163 MIT CASTS FLOATS IN GANZE ZAHLEN PACKEN
164 O H NEIN, ARBEITSLOSE SCHAUSPIELER A M WERK ... 168 SCHAUEN WIR UNS
AN, WAS D E M CODE WIDERFAHREN IST 169 COMPILER MOEGEN KEINE
UEBERRASCHUNGEN 171 DIE DEKLARATION VON DER DEFINITION TRENNEN 17 3 IHRE
ERSTE HEADER-DATEI 174 BEI GEMEINSAMKEITEN ... 182 SIE KOENNEN CODE A U F
MEHRERE DATEIEN AUFTEILEN 183 KOMPILIEREN - WAS STECKT DAHINTER? 184 D E
R GEMEINSAME CODE BRAUCHT EINEN HEADER 186 ES IST KEIN MYSTERIUM ...
ODER DOCH? 189 NICHT ALLES NEU KOMPILIEREN 190 ERST AUS QUELLEN
OBJEKTDATEIEN MACHEN 191 DAS NACHHALTEN DER DATEIEN IST AUFWENDIG 196
DIE ERSTELLUNG MIT MAKE AUTOMATISIEREN 198 WIE MAKE FUNKTIONIERT 199
MAKE MIT EINEM MAKEFILE UEBER IHREN CODE INFORMIEREN 200 ABHEBEN! 205 IHR
C-WERKZEUGKASTEN 206
IMAGE 7
STRUCTS, UNFONS UND BITFELDER
EIGENE STRUKTUREN
DIE MEISTEN DINGE IM LEBEN SIND KOMPLEXER ALS EINFACHE ZAHLEN. BISLANG
HABEN WIR UNS DIE ELEMENTAREN DATENTYPEN DER PROGRAMMIERSPRACHE C
ANGESEHEN, ABER WAS IST, WENN ZAHLEN UND EINFACHE ZEICHENFOLGEN NICHT
MEHR AUSREICHEN? WAS IST, WENN
SIE DINGE AUS DEM WAHREN LEBEN MODELLIEREN WOLLEN? S T R U C T S
ERMOEGLICHEN IHNEN, DIE
KOMPLEXITAET DER REALEN WELT ZU MODELLIEREN, INDEM SIE EIGENE STRUKTUREN
GESTALTEN. IN DIE
SEM KAPITEL WERDEN SIE LERNEN, WIE SIE DIE ELEMENTAREN DATENTYPEN ZU
STRUKTUREN KOMBI
NIEREN UND MIT UNIONS DIE UNWAEGBARKEITEN DES LEBENS IN DEN GRIFF
BEKOMMEN. UND WENN
IHNEN EIN EINFACHES JA ODER NEIN AUSREICHT, KOENNEN BITFELDER GENAU DAS
RICHTIGE FUER SIE SEIN.
WENN VIELE DATEN WANDERN WOLLEN
BUEROGESPRAECHE
STRUKTURIERTE DATENTYPEN MIT STRUCTS GESTALTEN
FISCH U N D NICHTS ANDERES
DIE FELDER EINES STRUCT LESEN SIE MIT D E M .-OPERATOR
K A N N M A N EIN STRUCT IN EIN ANDERES STECKEN?
WIE AKTUALISIERT M A N EIN STRUCT?
D E R CODE KLONT DIE KROETE
SIE BRAUCHEN EINEN ZEIGER A U F DAS STRUCT
(*S).ALTER VS. *S.ALTER
MANCHMAL ERFORDERT EINE SACHE MEHRERE DATENTYPEN
MIT EINER UNION KOENNEN SIE SPEICHERPLATZ SPAREN
WIE M A N EINE UNION NUTZT?
EINE ENUM-VARIABLE SPEICHERT EIN SYMBOL
KONTROLLE BIS ZUR BIT-EBENE
BITFELDER SPEICHERN EINE BELIEBIGE ANZAHL VON BITS
I H R C-WERKZEUGKASTEN
239
246
266
262
261
255
248
247
240
220
2 1 8
238
236
227
222
221
219
IMAGE 8
DER INHALT
DCTTENSTRUKTUREN UND DYNAMISCHER SPEICHER
BRUECKEN BAUEN
MANCHMAL REICHT EIN STRUCT EINFACH NICHT AUS. ZUR MODELLIERUNG KOMPLEXER
DATENANFORDERUNGEN MUSS MAN HAEUFIG STRUCTS VERBINDEN. IN DIESEM KAPITEL
WERDEN SIE ERFAHREN, WIE SIE STRUCT -ZEIGER NUTZEN KOENNEN, UM EIGENE
DATENTYPEN ZU GROSSEN,
KOMPLEXEN DATENSTRUKTUREN ZUSAMMENZUKNUEPFEN. SIE WERDEN
SCHLUESSELPRINZIPIEN ERFORSCHEN, INDEM
SIE VERKETTETE LISTEN ERSTELLEN. SIE WERDEN AUCH ERFAHREN, WIE SIE IHRE
DATENSTRUKTUREN DAZU BRINGEN,
FLEXIBLE DATENMENGEN ZU BEWAELTIGEN, INDEM SIE DYNAMISCH SPEICHER AUF DEM
HEAP ALLOZIEREN UND
WIEDER FREIGEBEN, WENN SIE IHN NICHT MEHR BENOETIGEN. UND DANN WERDEN WIR
IHNEN EIN WERKZEUG VORSTEL
LEN, DAS SIE UNTERSTUETZEN KANN, WENN SIE PROBLEME BEI DER
HAUSHALTSFUEHRUNG HABEN: VALGRIND.
FLEXIBLER SPEICHER GEFAELLIG?
VERKETTETE LISTEN SIND WIE DATENKETTEN
VERKETTETE LISTEN GESTATTEN EINFUEGUNGEN
EINE REKURSIVE STRUKTUR ERSTELLEN
MIT C INSELN SCHAFFEN ...
WERTE IN DIE LISTE EINSETZEN
DYNAMISCHE SPEICHERUNG A U F DEM H E A P
HINTERHER DEN SPEICHER FREIGEBEN
MIT MALLOCO SPEICHER ANFORDERN ...
REPARIEREN WIR DEN CODE MIT STRDUPO
GEBEN SIE SPEICHER FREI, WENN SIE IHN NICHT M E H R BENOETIGEN
DAS SYSTEM IM UEBERBLICK
SOFTWAREFORENSIK: VALGRIND
WIEDERHOLTE BEWEISAUFNAHME MIT VALGRIND
DIE BEWEISSTUECKE
DIE REPARATUR TESTEN
I H R C-WERKZEUGKASTEN
268
269
270
271
272
273
278
279
280
286
290
300
302
303
304
307
309
IMAGE 9
FORTGESCHRITTENE FUNKTIONEN
IHRE FUNKTIONEN A U F VORDERMANN BRINGEN
EINFACHE FUNKTIONEN SIND SCHOEN, ABER REICHEN MANCHMAL NICHT AUS. BISLANG
HABEN SIE SICH AUF DIE GRUNDLAGEN BESCHRAENKT, ABER WAS IST, WENN SIE
MEHR MACHT UND FLEXIBILITAET BENOETIGEN, UM IHR ZIEL ZU ERREICHEN? IN
DIESEM KAPITEL WERDEN SIE ERFAHREN, WIE SIE
DEN IQ IHRES CODES AUFPEPPEN KOENNEN, INDEM SIE FUNKTIONEN ALS PARAMETER
UEBERGEBEN. SIE
WERDEN ERFAHREN, WIE MAN DINGE MIT VERGLEICHSFUNKTIONEN SORTIERT. UND
SCHLIESSLICH WERDEN SIE
ENTDECKEN, WIE SIE IHREN CODE MIT VARIADISCHEN FUNKTIONEN
ANPASSUNGSFAEHIGER MACHEN.
A U F DER SUCHE NACH DEM MAERCHENPRINZEN ...
EINER FUNKTION CODE UEBERGEBEN
SIE MUESSEN SUCHENO DEN N A M E N EINER FUNKTION MITTEILEN
J E D E R FUNKTIONSNAME IST EIN ZEIGER A U F DIE FUNKTION ...
... ABER ES GIBT KEINEN FUNKTIONSDATENTYP
WIE M A N FUNKTIONSZEIGER ERSTELLT
O R D N U N G MIT DER C-STANDARDBIBLIOTHEK
O R D N U N G SCHAFFEN MIT FUNKTIONSZEIGERN
STANDARDBRIEFE AUTOMATISIEREN
EIN ARRAY VON FUNKTIONSZEIGERN ERSTELLEN
FUNKTIONEN DEHNBAR MACHEN
I H R C-WERKZEUGKASTEN 350
343
338
334
326
320
325
316
318
317
319
312
IMAGE 10
DER INHALT
STATISCHE UND DYNAMISCHE BIBLIOTHEKEN
CODE-WIEDERVERWENDUNG
DIE MACHT DER STANDARDBIBLIOTHEK HABEN SIE BEREITS KENNENGELERNT. JETZT
IST ES AN DER ZEIT, DASS SIE DIESE MACHT FUER IHREN EIGENEN CODE
EINSETZEN. IN DIESEM KAPITEL WERDEN SIE LERNEN, WIE SIE IHRE EIGENEN
BIBLIOTHEKEN ERSTELLEN UND DEN GLEICHEN CODE IN MEH
REREN PROGRAMMEN WIEDERVERWENDEN. AUSSERDEM WERDEN SIE ERFAHREN, WIE
IHNEN DYNAMISCHE
BIBLIOTHEKEN ERMOEGLICHEN, IHREN CODE ZUR LAUFZEIT ZU TEILEN. SIE WERDEN
IN DIE GEHEIMNISSE DER
PROGRAMMIERGURUS EINGEWEIHT WERDEN. UND WENN SIE DAS ENDE DIESES
KAPITELS ERREICHT HABEN,
WERDEN SIE CODE SCHREIBEN KOENNEN, DER GUT SKALIERT UND LEICHT UND
EFFIZIENT ZU WARTEN IST.
CODE, DEN SIE A U F DIE BANK BRINGEN KOENNEN
SPITZE KLAMMERN SIND FUER STANDARD-HEADER
ABER WAS IST, WENN SIE CODE GEMEINSAM NUTZEN WOLLEN?
HEADER-DATEIEN GEMEINSAM NUTZEN
OBJEKTDATEIEN UEBER DEN VOLLSTAENDIGEN PFADNAMEN TEILEN
EIN ARCHIV ENTHAELT .O-DATEIEN
MIT DEM AR-BEFEHL EIN ARCHIV ERSTELLEN . . .
SCHLIESSLICH DIE ANDEREN PROGRAMME KOMPILIEREN
FIT VON K O P F BIS FUSS EXPANDIERT
KALORIEN BERECHNEN
DIE GESCHICHTE IST LEIDER ETWAS KOMPLIZIERTER ...
PROGRAMME BESTEHEN AUS VIELEN TEILEN . . .
DYNAMISCHES LINKEN ERFOLGT ZUR LAUFZEIT
K A N N M A N EIN ARCHIV ZUR LAUFZEIT LINKEN?
ERST DIE OBJEKTDATEIEN ERSTELLEN
D E R N A M E IHRER DYNAMISCHEN BIBLIOTHEK IST PLATTFORMABHAENGIG
IHR C-WERKZEUGKASTEN
358
352
354
355
372
374
373
370
375
365
369
366
360
359
357
356
387
IMAGE 11
DER INHALT
PROZESSE UND SYSTEM A U F R U F E
GRENZVERLETZUNGEN
ES WIRD ZEIT, UEBER DEN TELLERRAND HINAUSZUBLICKEN. SIE HABEN BEREITS
ERFAHREN, DASS SIE KOMPLEXE ANWENDUNGEN AUFBAUEN KOENNEN, INDEM SIE AUF
DER KOMMANDOZEILE KLEINE WERKZEUGE MITEINANDER VERBINDEN. ABER WAS IST,
WENN SIE ANDERE
PROGRAMME AUS IHREM CODE HERAUS NUTZEN WOLLEN? IN DIESEM KAPITEL WERDEN
SIE LERNEN, WIE
SIE SYSTEMEINRICHTUNGEN NUTZEN, UM PROZESSE ZU ERSTELLEN UND ZU
KONTROLLIEREN. DAS WIRD
IHREN PROGRAMMEN ZUGRIFF AUF E-MAIL, DAS WEB UND UNMENGEN ANDERER
WERKZEUGE GEBEN, DIE
SIE INSTALLIERT HABEN. WENN SIE DAS ENDE DIESES KAPITELS ERREICHT HABEN,
WERDEN SIE DIE MACHT
HABEN, DIE GRENZEN VON C ZU VERLASSEN.
SYSTEMAUFRUFE SIND I H R HEISSER DRAHT ZUM BETRIEBSSYSTEM
D A N N BRICHT J E M A N D IN DAS SYSTEM EIN ...
SICHERHEIT IST NICHT DAS EINZIGE PROBLEM
DIE EXEC()-FUNKTIONEN BIETEN IHNEN MEHR KONTROLLE
ES GIBT DIVERSE EXEC()-FUNKTIONEN
DIE ARRAY-FUNKTIONEN: EXECV0, EXECVPO, EXECVEO
UMGEBUNGSVARIABLEN UEBERGEBEN
DIE MEISTEN SYSTEMAUFRUFE SCHEITERN A U F GLEICHE WEISE
NACHRICHTEN LESEN MIT R S S
EXECSS IST DIE ZIELLINIE FUER IHR PROGRAMM
MIT FORK() + EXECO EINEN KINDPROZESS STARTEN
IHR C-WERKZEUGKASTEN
404
402
403
416
427
421
420
406
408
407
405
398
IMAGE 12
INTERPROZESSKOM MUNIKATLGN
EIN NETTES GESPRAECH
PROZESSE MACHEN IST NUR DIE HALBE MIETE. WAS IST, WENN SIE DEN PROZESS
STEUERN WOLLEN, NACHDEM ER GESTARTET IST? WAS, WENN SIE IHM DATEN SENDEN
WOLLEN? ODER SEINE AUSGABE LESEN ? DIE INTERPROZESSKOMMUNIKATION
ERMOEGLICHT PROZESSEN, GEMEINSAME SACHE ZU MACHEN. WIR WERDEN IHNEN
ZEIGEN, WIE SIE DIE MACHT IHRES CODES MULTIPLIZIEREN, INDEM SIE IHN MIT
ANDEREN PRO
GRAMMEN AUF IHREM SYSTEMEN REDEN LASSEN.
EINGABE U N D AUSGABE UMLEITEN 430
EIN BLICK IN EINEN TYPISCHEN PROZESS 431
EINE UMLEITUNG ERSETZT EINFACH DIE DATENSTROEME 432
FILENO() NENNT IHNEN DEN DATEIDESKRIPTOR 433
MANCHMAL MUSS M A N WARTEN ... 438
MIT DEM K I N D VERBUNDEN BLEIBEN 442
PROZESSE MIT PIPES VERBINDEN 443
FALLSTUDIE: STORYS IN EINEM BROWSER OEFFNEN 444
I M K I N D 445
I M ELTERNPROZESS 445
EINE WEBSEITE IN EINEM BROWSER OEFFNEN 446
D E R TOD EINES PROZESSES 451
SIGNALE ABFANGEN U N D EIGENEN CODE AUSFUEHREN 452
SIGACTIONS WERDEN MIT SIGACTION() REGISTRIERT 453
D E N CODE DEN SIGNAL-HANDLER NUTZEN LASSEN 454
MIT KILL SIGNALE SENDEN 457
IHREM CODE EINEN WECKRUF SENDEN 4 5 8
IHR C-WERKZEUGKASTEN 466
IMAGE 13
DER INHALT
SOCKETS UND ]SJETZ VERKE
127.0.0.1 IST EIN TOLLER O R T
PROGRAMME AUF UNTERSCHIEDLICHEN SYSTEMEN MUESSEN MITEINANDER REDEN. SIE
HABEN GELERNT, WIE SIE MITHILFE VON I/O-OPERATIONEN MIT DATEIEN REDEN
UND WIE PROZESSE AUF DEM GLEICHEN SYSTEM MITEINANDER KOMMUNIZIEREN
KOENNEN. JETZT WERDEN SIE NACH DEM REST DER WELT GREIFEN
UND ERFAHREN, WIE MAN C-PROGRAMME SCHREIBT, DIE UEBER DAS NETZWERK UND
QUER UEBER DIE GANZE WELT
MIT ANDEREN PROGRAMMEN REDEN KOENNEN. WENN SIE DAS ENDE DES KAPITELS
ERREICHT HABEN, WERDEN SIE
DAZU IN DER LAGE SEIN, PROGRAMME ZU SCHREIBEN, DIE SICH WIE SERVER
VERHALTEN, UND PROGRAMME,
DIE SICH WIE CLIENTS VERHALTEN.
D E R INTERNET-KNOCK-KNOCK-SERVER
KNOCK-KNOCK-SERVER IM UEBERBLICK
BLAB: WIE SERVER MIT DEM INTERNET REDEN
EIN SOCKET IST KEIN BILLIGER DATENSTROM
MANCHMAL STARTET DER SERVER NICHT KORREKT
WARUM M A M A GEPREDIGT HAT, IMMER A U F DIE FEHLER ZU ACHTEN
VOM CLIENT LESEN
D E R SERVER KANN IMMER N U R MIT JEWEILS EINER PERSON REDEN
SIE KOENNEN EINEN EIGENEN PROZESS FUER JEDEN CLIENT FORKEN
EINEN WEBCLIENT SCHREIBEN
CLIENTS A N DIE MACHT
EIN SOCKET FUER EINE IP-ADRESSE ERSTELLEN
GETADDRINFOO ERMITTELT ADRESSEN ZU DOMAINS
IHR C-WERKZEUGKASTEN
472
486
500
493
492
491
490
478
485
477
476
470
469
468
IMAGE 14
THREADS
PARALLELWELTEN
HAEUFIG MUESSEN PROGRAMME MEHRERE DINGE GLEICHZEITIG TUN. MIT
POSIX-THREADS KOENNEN SIE IHREN CODE REAKTIONSFAEHIGER MACHEN, INDEM SIE
VERSCHIEDENE CODETEILE ABSPALTEN UND PARALLEL LAUFEN LASSEN. DOCH
AUFGEPASST!
THREADS SIND MAECHTIGE WERKZEUGE, UND SIE SOLLTEN TUNLICHST VERMEIDEN,
DASS SIE SICH
IN DIE QUERE KOMMEN. IN DIESEM KAPITEL WERDEN SIE LERNEN, WIE SIE DIE
VERKEHRS
SCHILDER UND STRASSENMARKIERUNGEN EINRICHTEN, DIE CODEUNFAELLE VERHINDERN.
AM
ENDE WERDEN SIE WISSEN, WIE MAN POSIX-THREADS ERSTELLT UND WIE MAN
SYNCHRONI
SATIONSMECHANISMEN NUTZT, UM DIE INTEGRITAET WICHTIGER DATEN ZU SICHERN.
AUFGABEN VERRICHTET M A N NACHEINANDER ... ODER AUCH NICHT ... 502
... U N D PROZESSE SIND NICHT IMMER DIE ANTWORT 503
EINFACHE PROZESSE TUN EINE SACHE NACH DER ANDEREN 504
ZUSAETZLICHES PERSONAL: THREADS
WIE M A N THREADS ERSTELLT?
THREADS MIT PTHREAD_CREATE ERSTELLEN
D E R CODE IST NICHT THREAD-SICHER
SIE MUESSEN VERKEHRSZEICHEN EINFUEHREN
EINEN MUTEX ALS VERKEHRSZEICHEN NUTZEN
I H R C-WERKZEUGKASTEN
505
506
507
512
513
514
521
|
any_adam_object | 1 |
author | Griffiths, David 1969- Griffiths, Dawn |
author_GND | (DE-588)1029425191 (DE-588)1030175160 |
author_facet | Griffiths, David 1969- Griffiths, Dawn |
author_role | aut aut |
author_sort | Griffiths, David 1969- |
author_variant | d g dg d g dg |
building | Verbundindex |
bvnumber | BV040387168 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)812245826 (DE-599)DNB1023059711 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01759nam a2200445 c 4500</leader><controlfield tag="001">BV040387168</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20131001 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">120827s2012 gw ad|| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">12,N24</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1023059711</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783868993868</subfield><subfield code="c">Pb. : EUR 49.90 (DE), EUR 51.30 (AT)</subfield><subfield code="9">978-3-86899-386-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">386899386X</subfield><subfield code="9">3-86899-386-X</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783868993868</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)812245826</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1023059711</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-862</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-1047</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-473</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Griffiths, David</subfield><subfield code="d">1969-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1029425191</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Head first C</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">C von Kopf bis Fuß</subfield><subfield code="c">David Griffiths ; Dawn Griffiths</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing ; Köln [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXXV, 591 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Griffiths, Dawn</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1030175160</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025240569&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025240569</subfield></datafield></record></collection> |
id | DE-604.BV040387168 |
illustrated | Illustrated |
indexdate | 2024-08-01T10:41:07Z |
institution | BVB |
isbn | 9783868993868 386899386X |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025240569 |
oclc_num | 812245826 |
open_access_boolean | |
owner | DE-M347 DE-83 DE-858 DE-1051 DE-523 DE-29T DE-573 DE-19 DE-BY-UBM DE-859 DE-20 DE-11 DE-91G DE-BY-TUM DE-862 DE-BY-FWS DE-B768 DE-92 DE-1047 DE-860 DE-898 DE-BY-UBR DE-473 DE-BY-UBG |
owner_facet | DE-M347 DE-83 DE-858 DE-1051 DE-523 DE-29T DE-573 DE-19 DE-BY-UBM DE-859 DE-20 DE-11 DE-91G DE-BY-TUM DE-862 DE-BY-FWS DE-B768 DE-92 DE-1047 DE-860 DE-898 DE-BY-UBR DE-473 DE-BY-UBG |
physical | XXXV, 591 S. Ill., graph. Darst. |
publishDate | 2012 |
publishDateSearch | 2012 |
publishDateSort | 2012 |
publisher | O'Reilly |
record_format | marc |
spellingShingle | Griffiths, David 1969- Griffiths, Dawn C von Kopf bis Fuß C Programmiersprache (DE-588)4113195-2 gnd |
subject_GND | (DE-588)4113195-2 |
title | C von Kopf bis Fuß |
title_alt | Head first C |
title_auth | C von Kopf bis Fuß |
title_exact_search | C von Kopf bis Fuß |
title_full | C von Kopf bis Fuß David Griffiths ; Dawn Griffiths |
title_fullStr | C von Kopf bis Fuß David Griffiths ; Dawn Griffiths |
title_full_unstemmed | C von Kopf bis Fuß David Griffiths ; Dawn Griffiths |
title_short | C von Kopf bis Fuß |
title_sort | c von kopf bis fuß |
topic | C Programmiersprache (DE-588)4113195-2 gnd |
topic_facet | C Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025240569&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT griffithsdavid headfirstc AT griffithsdawn headfirstc AT griffithsdavid cvonkopfbisfuß AT griffithsdawn cvonkopfbisfuß |
Inhaltsverzeichnis
Schweinfurt Zentralbibliothek Lesesaal
Signatur: |
2000 ST 250 C01 G855 |
---|---|
Exemplar 1 | ausleihbar Verfügbar Bestellen |