Systemnahe Programmierung mit C und Linux: das umfassende Handbuch
Gespeichert in:
Vorheriger Titel: | Linux-Unix-Programmierung |
---|---|
Beteiligte Personen: | , |
Format: | Buch |
Sprache: | Deutsch |
Veröffentlicht: |
Bonn
Rheinwerk
2024
|
Ausgabe: | 5., aktualisierte Auflage |
Schriftenreihe: | Rheinwerk Computing
|
Schlagwörter: | |
Links: | http://deposit.dnb.de/cgi-bin/dokserv?id=08e705d3f38a4bcda85097d119a608de&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034909743&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
Beschreibung: | Auf dem Umschlag: "Grundlagen, Praxisbeispiele, Referenzen, Thread-, Netzwerk- und GUI-Programmierung, Datenkbanken, Terminal-E/A, Werkzeuge, Sicherheit; alle Beispielprojekte zum Download" |
Umfang: | 1386 Seiten Illustrationen 24 cm x 19 cm |
ISBN: | 9783836297486 3836297485 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV049564402 | ||
003 | DE-604 | ||
005 | 20241022 | ||
007 | t| | ||
008 | 240209s2024 gw a||| |||| 00||| ger d | ||
015 | |a 23,N39 |2 dnb | ||
016 | 7 | |a 1303215187 |2 DE-101 | |
020 | |a 9783836297486 |c Festeinband : EUR 59.90 (DE), EUR 61.60 (AT), CHF 76.95 (freier Preis) |9 978-3-8362-9748-6 | ||
020 | |a 3836297485 |9 3-8362-9748-5 | ||
024 | 3 | |a 9783836297486 | |
035 | |a (OCoLC)1422416348 | ||
035 | |a (DE-599)DNB1303215187 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-1050 |a DE-Aug4 |a DE-29T |a DE-1102 |a DE-860 |a DE-859 |a DE-703 |a DE-858 |a DE-706 | ||
082 | 0 | |a 005.432 |2 23/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 261 |0 (DE-625)143633: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Wolf, Jürgen |d 1974- |e Verfasser |0 (DE-588)132691256 |4 aut | |
240 | 1 | 0 | |a Linux-Unix-Programmierung |
245 | 1 | 0 | |a Systemnahe Programmierung mit C und Linux |b das umfassende Handbuch |c Jürgen Wolf, René Krooß |
250 | |a 5., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk |c 2024 | |
300 | |a 1386 Seiten |b Illustrationen |c 24 cm x 19 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk Computing | |
500 | |a Auf dem Umschlag: "Grundlagen, Praxisbeispiele, Referenzen, Thread-, Netzwerk- und GUI-Programmierung, Datenkbanken, Terminal-E/A, Werkzeuge, Sicherheit; alle Beispielprojekte zum Download" | ||
650 | 0 | 7 | |a Multimedia |0 (DE-588)4192358-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Datenverwaltung |0 (DE-588)4011168-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Systemprogrammierung |0 (DE-588)4184280-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Entwicklung |0 (DE-588)4113450-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Rechnernetz |0 (DE-588)4070085-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a LINUX |0 (DE-588)4337730-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Relationales Datenbanksystem |0 (DE-588)4130535-8 |2 gnd |9 rswk-swf |
653 | |a Linux | ||
653 | |a UNIX | ||
653 | |a Assembler | ||
653 | |a C | ||
653 | |a Raspberry Pi | ||
653 | |a Mikrocontroller | ||
653 | |a E/A-Funktion | ||
653 | |a Threads | ||
653 | |a IPC | ||
653 | |a MySQL PostgreSQL | ||
653 | |a Computersysteme | ||
653 | |a anwendungsorientierte Programmierung | ||
653 | |a Systemprogrammierer | ||
653 | |a Studium lernen Ausbildung Hand-Buch Anleitung | ||
653 | |a Multitasking-Eigenschaft | ||
689 | 0 | 0 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 0 | 1 | |a Systemprogrammierung |0 (DE-588)4184280-7 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Rechnernetz |0 (DE-588)4070085-9 |D s |
689 | 1 | 1 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 1 | 2 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Relationales Datenbanksystem |0 (DE-588)4130535-8 |D s |
689 | 2 | 1 | |a Datenverwaltung |0 (DE-588)4011168-4 |D s |
689 | 2 | 2 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 2 | 3 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 2 | |5 DE-604 | |
689 | 3 | 0 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |D s |
689 | 3 | 1 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 3 | 2 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 3 | |5 DE-604 | |
689 | 4 | 0 | |a Multimedia |0 (DE-588)4192358-3 |D s |
689 | 4 | 1 | |a Entwicklung |0 (DE-588)4113450-3 |D s |
689 | 4 | 2 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 4 | 3 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 4 | |5 DE-604 | |
689 | 5 | 0 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 5 | 1 | |a Systemprogrammierung |0 (DE-588)4184280-7 |D s |
689 | 5 | 2 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 5 | |5 DE-604 | |
700 | 1 | |a Krooß, René |e Verfasser |0 (DE-588)1211561577 |4 aut | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-8362-9750-9 |w (DE-604)BV049683475 |
780 | 0 | 0 | |i Vorangegangen ist |t Linux-Unix-Programmierung |z 978-3-8362-3772-7 |w (DE-604)BV043297843 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=08e705d3f38a4bcda85097d119a608de&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
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=034909743&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20230921 |q DE-101 |u https://d-nb.info/provenance/plan#vlb | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-034909743 |
Datensatz im Suchindex
_version_ | 1822520762393690112 |
---|---|
adam_text |
INHALT
MATERIALIEN
ZUM
BUCH
.
23
1
EINFUEHRUNG
25
1.1
ANFORDERUNGEN
AN
DEN
LESER
.
25
1.2
ANFORDERUNGEN
AN
DAS
BETRIEBSSYSTEM
.
26
1.3
UNIX,
DER
VORGAENGER
VON
LINUX
.
27
1.4
DIE
ENTWICKLUNG
VON
LINUX
.
29
1.5
DER
COMPILER
GCC
-
EINE
KURZE
EINFUEHRUNG
.
31
1.5.1
DEN
GCC
VON
DER
KOMMANDOZEILE
AUS
AUFRUFEN
.
31
1.5.2
WICHTIGE
KOMMANDOZEILEN-PARAMETER
FUER
DEN
GCC
.
32
1.5.3
UNTERSTUETZTE
DATEITYPEN
BEIM
GCC
.
37
1.6
POSIX,
X/OPEN
UND
ANSI
C
.
37
1.7
UEBERSICHT
ZU
DIESEM
BUCH
.
40
1.8
SCHREIBKONVENTIONEN
.
42
1.9
WEITERE
HILFEN
.
43
2
E/A-FUNKTIONEN
45
2.1
ELEMENTARE
E/A-FUNKTIONEN
.
45
2.2
FILEDESKRIPTOREN
.
47
2.2.1
VERWALTUNG
VON
FILEDESKRIPTOREN
.
49
2.3
FUNKTIONEN,
DIE
EINEN
FILEDESKRIPTOR
VERWENDEN
.
50
2.3.1
DATEI
OEFFNEN
-
OPEN()
.
50
2.3.2
ANLEGEN
EINER
NEUEN
DATEI
MIT
CREAT()
.
57
2.3.3
EINE
DATEI
WIEDER
SCHLIESSEN
MIT
CLOSE()
.
57
2.3.4
SCHREIBEN
VON
DATEIEN
MIT
WRITE()
.
58
2.3.5
LESEN
VON
DATEIEN
MIT
READ()
.
62
2.3.6
SCHREIB-/LESEZEIGER
POSITIONIEREN
MIT
LSEEK()
.
66
2.3.7
DUPLIZIEREN
VON
FILEDESKRIPTOREN
MIT
DUP()
UND
DUP2()
.
69
2.3.8
AENDERN
ODER
ABFRAGEN
DER
EIGENSCHAFTEN
EINES
FILEDESKRIPTORS
MIT
FCNTL()
71
INHALT
2.3.9
RECORD
LOCKING
-
SPERREN
VON
DATEIEN
EINRICHTEN
.
77
2.3.10
MULTIPLEXING
E/A
MIT
SELECT()
.
88
2.3.11
UNTERSCHIEDLICHE
OPERATIONEN
AUSFUEHREN
MIT
IOCTL()
.
91
2.3.12
LESEN
UND
SCHREIBEN
MEHRERER
PUFFER
MIT
WRITEV()
UND
READV()
.
93
2.3.13
WEITERE
FUNKTIONEN,
DIE
DEN
FILEDESKRIPTOR
VERWENDEN
.
95
2.4
STANDARD-E/A-FUNKTIONEN
.
99
2.4.1
DER
FILE-ZEIGER
.
99
2.4.2
OEFFNEN
UND
SCHLIESSEN
VON
DATEIEN
.
101
2.4.3
FORMATIERTE
AUSGABEN
ERZEUGEN
MIT
PRINTF()
UND
SPRINTF()
.
103
2.4.4
FORMATIERTE
EINGABEN
MIT
SCANF()
.
104
2.4.5
BINAERES
LESEN
UND
SCHREIBEN
.
105
2.4.6
ZEICHEN
UND
ZEILENWEISE
EIN-/AUSGABE
.
106
2.4.7
DEN
STATUS
DER
EIN-/AUSGABE
MIT
FEOF()
UND
FERROR()
UEBERPRUEFEN
.
107
2.4.8
DEN
SCHREIB-/LESEZEIGER
IM
STREAM
POSITIONIEREN
.
107
2.4.9
STEUERUNG
DES
VERHALTENS
DES
SCHREIB-/LESEPUFFERS
.
110
2.4.10
DATEIEN
LOESCHEN
UND
UMBENENNEN
.
111
2.4.11
TEMPORAERE
DATEIEN
ERSTELLEN
.
112
2.5
DIE
ARBEIT
MIT
VERZEICHNISSEN
.
113
2.5.1
EIN
NEUES
VERZEICHNIS
AN
LEGEN
MIT
MKDIR()
.
113
2.5.2
IN
EIN
ANDERES
VERZEICHNIS
WECHSELN
MIT
CHDIR()
UND
FCHDIR()
.
115
2.5.3
EIN
LEERES
VERZEICHNIS
LOESCHEN
MIT
RMDIR()
.
117
2.5.4
FORMAT
EINES
DATEIEINTRAGS
IN
DEM
STRUCT
DIRENT
.
118
2.5.5
EINEN
VERZEICHNISSTREAM
OEFFNEN
MIT
OPENDIR()
.
120
2.5.6
LESEN
AUS
DEM
DIR-STREAM
MIT
OPENDIR()
UND
SCHLIESSEN
DES
DIR-STREAMS
MIT
CLOSEDIR()
.
122
2.5.7
POSITIONIEREN
DES
DIR-STREAMS
.
125
2.5.8
EIN
KOMPLETTES
VERZEICHNIS
EINLESEN
MIT
SCANDIR()
.
125
2.5.9
GANZE
VERZEICHNISBAEUME
DURCHLAUFEN
MIT
FTW()
.
131
2.6
FEHLERBEHANDLUNG
.134
2.7
AUSBLICK
.
137
3
ATTRIBUTE
VON
DATEIEN
UND
VERZEICHNISSEN
ABFRAGEN
UND
AENDERN
139
3.1
DIE
STRUKTUR
STAT
.
139
3.1.1
DATEIART
UND
ZUGRIFFSRECHTE
EINER
DATEI
ABFRAGEN
MIT
ST_MODE
.
141
3.1.2
USER-ID-BIT
UND
GROUP-ID-BIT
ERMITTELN
MIT
ST_UID
UND
ST_GID
.
145
3.1.3
INODES
ERMITTELN
MIT
ST
INO
.
145
INHALT
3.1.4
DEN
LINKZAEHLER
ERMITTELN
MIT
ST_NLINK
.
146
3.1.5
DIE
GROESSE
EINER
DATEI
ERMITTELN
MIT
ST
SIZE
.
151
3.1.6
ZEITDATEN
MIT
ST_ATIME,
ST_MTIME
UND
ST_CTIME
ABFRAGEN
.
153
4
ZUGRIFF
AUF
SYSTEMINFORMATIONEN
157
4.1
INFORMATIONEN
AUS
DEM
/PROC-VERZEICHNIS
HERAUSZIEHEN
.
157
4.2
HARDWARE-/SYSTEMINFORMATIONEN
ERMITTELN
.
160
4.2.1
CPU-INFORMATIONEN
-
/PROC/CPUINFO
.
160
4.2.2
GERAETEINFORMATIONEN
IN
/PROC/DEVICES
.
161
4.2.3
DIE
SPEICHERAUSLASTUNG
MIT
/PROC/MEMINFO
ERMITTELN
.
161
4.2.4
WEITERE
HARDWAREINFORMATIONEN
IN
ZUSAMMENGEFASSTER
FORM
.
162
4.3
PROZESSINFORMATIONENAUSLESEN
.
166
4.3.1
DAS
VERZEICHNIS
/PROC/$PID/CMDLINE
.
167
4.3.2
DAS
VERZEICHNIS
/PROC/$PID/ENVIRON
.
168
4.3.3
DAS
VERZEICHNIS
/PROC/SELF
.
169
4.3.4
DAS
VERZEICHNIS
/PROC/$PID/FD/
.
170
4.3.5
DAS
VERZEICHNIS
/PROC/$PID/STATM
.
170
4.4
KERNEL-INFORMATIONEN
IN
/PROC
.
171
4.4.1
DAS
VERZEICHNIS
/PROC/LOCKS
.
178
4.4.2
DAS
VERZEICHNIS
/PROC/MODULES
.
179
4.5
VERSCHIEDENE
DATEISYSTEME
UNTER
LINUX
VERWALTEN
.
180
4.5.1
DAS
VERZEICHNIS
/PROC/MOUNTS
.
180
4.6
WEITERFUEHRENDES
.
181
5
DEVICES-EINE
EINFACHE
VERBINDUNG
ZUR
HARDWARE
183
5.1
DIE
GERAETEDATEITYPEN
.
183
5.2
DIE
GERAETEDATEINUMMERN
.
185
5.3
ZUGRIFF
AUF
DIE
GERAETEDATEIEN
.
186
5.4
GERAETENAMEN
.
188
5.5 SPEZIELLE
GERAETEDATEIEN
.
190
5.6
GERAETEDATEIEN
IN
DER
PRAXIS
EINSETZEN
.
191
5.6.1
CD
AUSWERFEN
UND
LAUFWERK
WIEDER
SCHLIESSEN
.
193
5.6.2
CD-ROM-FAEHIGKEITEN
.
194
INHALT
5.6.3
AUDIO-CD
ABSPIELEN
-
KOMPLETT
UND
EINZELNE
TRACKS
-
PAUSE,
FORTFAHREN
UND
STOPP
.
195
5.6.4
AKTUELLEN
STATUS
DER
AUDIO-CD
ERMITTELN
.
200
5.6.5
DAS
KOMPLETTE
LISTING
.
202
5.6.6
DER
GRAFIK-FRAMEBUFFER
.
208
5.6.7
ZUGRIFF
AUF
MAUS
UND
JOYSTICK
.
211
5.6.8
ZUGRIFF
AUF
DIE
AUDIOHARDWARE
MIT
ALSA
.
220
5.6.9
ZUGRIFF
AUF
DEN
DRUCKER
UEBER
/DEV/IPO
.
222
6
SYSTEM
UND
BENUTZERDATEIEN
227
6.1
DIE
DATEI
/ETC/PASSWD
.
227
6.1.1
DIE
DATEI
/ETC/PASSWD
AUSWERTEN
.
229
6.1.2
GETPWUID
UND
GETPWNAM
-
EINZELNE
ABFRAGE
VON
/ETC/PASSWD
.
230
6.1.3
GETPWENT,
SETPWENT
UND
ENDPWENT
KOMPLETTE
ABFRAGE
VON
/ETC/PASSWD
.
232
6.2
DIE
DATEI
/ETC/SHADOW
.
234
6.2.1
DIE
DATEI
/ETC/SHADOW
AUSWERTEN
.
235
6.2.2
GETSPENT,
SETSPENT
UND
ENDSPENT
KOMPLETTE
ABFRAGE
VON
/ETC/SHADOW
.
236
6.3
DIE
DATEI
/ETC/GROUP
.
239
6.3.1
DIE
DATEI
/ETC/GROUP
AUSWERTEN
.
241
6.3.2
GETGRNAM
UND
GETGRGID
-EINZELNE
EINTRAEGE
AUS
/ETC/GROUP
ABFRAGEN
.
241
6.3.3
GETGRENT,
SETGRENT
UND
ENDGRENT
-
ALLE
EINTRAEGE
IN
/ETC/GROUP
ABFRAGEN
.
243
6.4
UNAME
-
INFORMATIONEN
ZUM
LOKALEN
SYSTEM
ERFRAGEN
.
243
6.5
DAS
VERZEICHNIS
/ETC/SKEL
UND
NETWORK
INFORMATION
SERVICE
(NIS)
.
245
6.6
DATEIEN
FUER
NETZWERKINFORMATIONEN
.
246
7
PROZESSE,
DAEMONEN
UND
ZOMBIES
247
7.1
WAS
IST
EIN
PROZESS?
.
247
7.2
PROZESSKOMPONENTE
.
248
7.2.1
DIE
PROZESSNUMMER
(PID)
.
249
7.2.2
PROZESSNUMMER
DES
VATERPROZESSES
(PPID)
.
249
7.2.3
BENUTZER-UND
GRUPPENNUMMER
EINES
PROZESSES
(UID,
EUID,
GID,
EGID)
.
249
INHALT
7.2.4
DER
PROZESSSTATUS
.
250
7.2.5
PROZESSPRIORITAETEN
.
251
7.2.6
TIMESHARING-PROZESSE
.
252
7.2.7
PROZESSAUSLAGERUNG
AUF
DIE
FESTPLATTE
DURCH
SWAPPING
.
257
7.2.8
STEUERTERMINAL
.
258
7.3
PROZESSE
UEBERWACHEN
MIT
PS,
TOP
UND
KPM
.
258
7.4
DER
LEBENSZYKLUS
EINES
PROZESSES
.
261
7.5
UMGEBUNGSVARIABLEN
EINES
PROZESSES
.
263
7.5.1
EINZELNE
UMGEBUNGSVARIABLEN
ABFRAGEN
.
265
7.5.2
UMGEBUNGSVARIABLEN
VERAENDERN
ODER
HINZUFUEGEN
MIT
PUTENV()
UND
SETENV()
266
7.5.3
LOESCHEN
VON
UMGEBUNGSVARIABLEN
MIT
UNSETENV()
UND
CLEARENV()
.
270
7.6
RESSOURCENLIMITS
EINES
PROZESSES.
271
7.6.1
MEHR
SICHERHEIT
MIT
RESSOURCENLIMITS
.
275
7.7
PROZESSERKENNUNG
.
275
7.8
ERZEUGUNG
VON
NEUEN
PROZESSEN
MIT
FORK()
.
277
7.8.1
PUFFERUNG
.
280
7.8.2
WAS
WIRD
BEI
FORK()
VERERBT
UND
WAS
NICHT?
.
286
7.8.3
EINEN
PROZESS
MIT
VERAENDERTER
PRIORITAET
ERZEUGEN
.
286
7.9
WARTEN
AUF
EINEN
ANDEREN
PROZESS
.
288
7.10
DIE
EXEC-FAMILIE
.
296
7.10.1
EXECL()
.
297
7.10.2
EXECVE()
.
298
7.10.3
EXECV()
.
298
7.10.4
EXECLE()
.
298
7.10.5
EXECLP()
.
299
7.10.6
EXECVP()
.
299
7.10.7
KINDPROZESSE
MIT
EXEC-AUFRUF
UEBERLAGERN
.
300
7.11
KOMMANDOAUFRUFE
AUS
DEM
PROGRAMM
-
SYSTEM()
.
302
7.12
DAEMONPROZESSE
.
304
7.12.1
WIE
EIN
PROZESS
ZUM
DAEMON
GEMACHT
WIRD
.
304
7.12.2
DAEMON,
SPRICH
MIT
UNS
.
305
7.12.3
PROTOKOLLIEREN
VON
DAEMONEN
MIT
SYSLOG()
.
305
7.12.4
SYSLOGO)
IN
DER
PRAXIS
.
308
7.12.5
DAEMONPROZESSE
MIT
C
ERZEUGEN
.
311
7.13
MEHR
UEBER
DIE
AUSFUEHRUNG
VON
PROZESSEN
.
315
7.13.1
EINEN
DAEMON
BEIM
BOOTEN
MIT
EINEM
INIT-SKRIPT
STARTEN
.
315
INHALT
7.13.2
HINTERGRUNDPROZESSE
UND
JOBKONTROLLE
.
323
7.13.3
PROZESSE
ZEITGESTEUERT
AUSFUEHREN
(CRON-JOBS)
.
327
7.14
ZUSAMMENFASSUNG
UND
AUSBLICK
.
330
8
SIGNALE
331
8.1
GRUNDLAGEN
ZU
DEN
SIGNALEN
.
331
8.1.1
SIGNALMASKEN
.
334
8.1.2
SIGNALE
BEI
FORK()
.334
8.1.3
SIGNALE
UND
EXEC
.
335
8.1.4
UEBERSICHT
ZU
DEN
SIGNALEN
.
335
8.2
DAS
NEUE
SIGNALKONZEPT
AB
KERNEL
2.6.18
.
338
8.2.1
WOZU
EIN
NEUES
SIGNALKONZEPT?
.
338
8.3
DIE
SIGNALMENGE
INITIALISIEREN
.
339
8.4
ELEMENTE
ZU
DER
SIGNALMENGE
HINZUFUEGEN
ODER
AUS
IHR
ENTFERNEN
.
339
8.5
SIGNALE
EINRICHTEN
UND
ABFRAGEN
.
340
8.5.1
EINEN
SIGNALHANDLER
EINRICHTEN,
DER
ZURUECKKEHRT
.
344
8.6
SIGNALE
AN
ANDERE
PROZESSE
SENDEN
MIT
KILL()
.
347
8.7
EINE
ZEITSCHALTUHR
EINRICHTEN
MIT
ALARM()
.
348
8.8
PROZESSE
STOPPEN,
BIS
EIN
SIGNAL
EINTRITT,
MIT
PAUSE()
.
349
8.9
PROZESSE
FUER
EINE
BESTIMMTE
ZEIT
STOPPEN
MIT
SLEEP()
UND
USLEEP()
.
349
8.10
DIE
SIGNALMASKE
ERFRAGEN
ODER
AENDERN
MIT
SIGPROCMASK()
.
350
8.11
EINEN
PROZESS
WAEHREND
EINER
AENDERUNG
DER
SIGNALMASKE
STOPPEN
MIT
SIGSUSPEND()
.
351
8.12
PROZESSE
SYNCHRONISIEREN
.
351
9
IPC
-
INTERPROZESSKOMMUNIKATION
355
9.1
UNTERSCHIEDLICHE
INTERPROZESSKOMMUNIKATIONS-TECHNIKEN
IM
UEBERBLICK
.
356
9.1.1
PIPES
.
356
9.1.2
BENANNTE
PIPES
(FIFOS).
357
9.1.3
NACHRICHTENSPEICHER
(SOGENANNTE
MESSAGE
QUEUES)
.
359
9.1.4
SEMAPHORE
.
360
9.1.5
SHARED
MEMORY
(GEMEINSAMER
SPEICHER)
.
360
INHALT
9.1.6
STREAMS
.
361
9.1.7
SOCKETS
.
362
9.1.8
LOCK
FILES
(SPERRDATEIEN)
.
362
9.1.9
DATEI
SPERREN
(RECORD
LOCKING)
.
363
9.2
GRUENDE
FUER
IPC
.
364
9.3
PIPES
.
365
9.3.1
EIGENSCHAFTEN
VON
PIPES
.
365
9.3.2
PIPES
EINRICHTEN
MIT
PIPE()
.
366
9.3.3
EIGENSCHAFTEN
VON
ELEMENTAREN
E/A-FUNKTIONEN
BEI
PIPES
.
370
9.3.4
STANDARD-E/A-FUNKTIONEN
MIT
PIPE()
AUSFUEHREN
.
371
9.3.5
PIPES
IN
EINEN
ANDEREN
PROZESS
UMLEITEN
.
373
9.3.6
EIN
FILTERPROGRAMM
ERSTELLEN
MITHILFE
EINER
PIPE
.
376
9.3.7
EINRICHTEN
EINER
PIPE
ZU
EINEM
ANDEREN
PROZESS
MIT
POPEN()
.
379
9.3.8
MAIL
VERSENDEN
MIT
PIPES
UND
SEND
MAIL
.
381
9.3.9
DRUCKEN
UEBER
EINE
PIPE
MIT
IPR
.
385
9.3.10
BENANNTE
PIPES
-
FIFOS
.
390
9.4
SYSTEM-V-INTERPROZESSKOMMUNIKATION
.408
9.4.1
GEMEINSAMKEITEN
DER
SYSV-MECHANISMEN
.
408
9.4.2
EIN
OBJEKT
EINRICHTEN,
EINE
VERBINDUNG
HERSTELLEN
UND
DAS
OBJEKT
WIEDER
LOESCHEN
.
409
9.4.3
DATENAUSTAUSCH
ZWISCHEN
NICHT
VERWANDTEN
PROZESSEN
.
410
9.5
SEMAPHORE
.
410
9.5.1
LEBENSZYKLUS
EINES
SEMAPHORS
.
411
9.5.2
EIN
SEMAPHOR
OEFFNEN
ODER
ERSTELLEN
MIT
SEMGET()
.
414
9.5.3
ABFRAGEN,
AENDERN
ODER
LOESCHEN
DER
SEMAPHORMENGE
MIT
SEMCTL()
.
415
9.5.4
OPERATIONEN
AUF
SEMAPHORMENGEN
AUSFUEHREN
MIT
SEMOP()
.417
9.5.5
SEMAPHORE
IM
VERGLEICH
MIT
SPERREN
.419
9.6
MESSAGE
QUEUES
.419
9.6.1
EINE
MESSAGE
QUEUE
OEFFNEN
ODER
ERZEUGEN
MIT
MSGGET()
.420
9.6.2
NACHRICHTEN
VERSENDEN
MIT
MSGSND()
.420
9.6.3
EINE
NACHRICHT
EMPFANGEN
-
MSGRCV()
.
421
9.6.4
ABFRAGEN,
AENDERN
ODER
LOESCHEN
EINER
MESSAGE
QUEUE
MIT
MSGCTL()
.
422
9.7
SHARED
MEMORY
.
432
9.7.1
EIN
SHARED-MEMORY-SEGMENT
ERSTELLEN
ODER
OEFFNEN
MIT
SHMGET()
.
432
9.7.2
EIN
SHARED-MEMORY-SEGMENT
ABFRAGEN,
AENDERN
ODER
LOESCHEN
MIT
SHMCTL()
.
433
9.7.3
EIN
SHARED-MEMORY-SEGMENT
ANBINDEN
(ATTACH)
MIT
SHMAT()
.
434
9.7.4
EIN
SHARED-MEMORY-SEGMENT
LOSLOESEN
MIT
SHMDT()
.
434
9.7.5
CLIENT-SERVER-BEISPIEL
MIT
SHARED-MEMORY-SEGMENT
.
435
INHALT
10
THREADS
443
10.1
UNTERSCHIEDE
ZWISCHEN
THREADS
UND
PROZESSEN
.443
10.2
THREAD-BIBLIOTHEKEN
.
444
10.3
KERNEL
UND
USER-THREADS
.445
10.4
SCHEDULING
UND
ZUSTAENDE
VON
THREADS
.445
10.5
DIE
GRUNDLEGENDEN
FUNKTIONEN
DER
THREAD-PROGRAMMIERUNG
.
447
10.5.1
MIT
PTHREAD_CREATE
EINEN
NEUEN
THREAD
ERZEUGEN
.447
10.5.2
MIT
PTHREAD_EXIT
EINEN
THREAD
BEENDEN
.448
10.5.3
MIT
PTHREAD_JOIN
AUF
DAS
ENDE
EINES
THREADS
WARTEN
.
449
10.5.4
MIT
PTHREAD_SELF
DIE
ID
VON
THREADS
ERMITTELN
.
449
10.5.5
MIT
PTHREAD_EQUAL
DIE
ID
VON
ZWEI
THREADS
VERGLEICHEN
.
456
10.5.6
MIT
PTHREAD_DETACH
EINEN
THREAD
UNABHAENGIG
VOM
HAUPTPROGRAMM
MACHEN
.458
10.6
DIE
ATTRIBUTE
VON
THREADS
UND
DAS
SCHEDULING
.
459
10.7
THREADS
SYNCHRONISIEREN
.465
10.7.1
MUTEXE
.
468
10.7.2
CONDITION-VARIABLEN
(BEDINGUNGSVARIABLEN)
.
477
10.7.3
THREADS
UND
SEMAPHORE
.489
10.7.4
WEITERE
SYNCHRONISATIONSTECHNIKEN
IM
UEBERBLICK
.492
10.8
THREADS
ABBRECHEN
(CANCELN)
.493
10.9
ERZEUGEN
VON
THREADSPEZIFISCHEN
DATEN
(TSD)
.498
10.10
MIT
PTHREAD_ONCE()
EINEN
CODEABSCHNITT
AUF
EINMAL
AUSFUEHREN
.
501
10.11
THREAD-SAFE-FUNKTIONEN
(THREAD-SICHERE
FUNKTIONEN)
.
504
10.12
THREADS
UND
SIGNALE
.
505
10.13
ZUSAMMENFASSUNG
UND
AUSBLICK
.
510
11
NETZWERKPROGRAMMIERUNG
513
11.1
EINFUEHRUNG
.
513
11.2
AUFBAU
VON
NETZWERKEN
.514
11.2.1
ISO/OSI-REFERENZMODELL
.514
11.2.2
DAS
WORLD
WIDE
WEB
(INTERNET)
.
518
INHALT
11.3
TCP/IP
-
AUFBAU
UND
STRUKTUR
.
520
11.3.1
DIE
NETZWERKSCHICHT
(DATENUEBERTRAGUNG)
.
520
11.3.2
DIE
INTERNETSCHICHT
.
520
11.3.3
DIE
TRANSPORTSCHICHT
(TCP,
UDP)
.
521
11.3.4
ANWENDUNGSSCHICHT
.
522
11.4
TCP-SOCKET
.
524
11.5
DAS
KOMMUNIKATIONSMODELL
DER
SOCKETS
.
525
11.6
GRUNDLEGENDE
FUNKTIONEN
ZUM
ZUGRIFF
AUF
DIE
SOCKET-SCHNITTSTELLE
.
525
11.6.1
EIN
SOCKET
ANLEGEN
MIT
SOCKET()
.
526
11.6.2
VERBINDUNGSAUFBAU
MIT
CONNECT()
.
528
11.6.3
SOCKET
MIT
EINER
ADRESSE
VERKNUEPFEN
DURCH
BIND()
.
531
11.6.4
AUF
VERBINDUNGEN
WARTEN
MIT
LISTEN()
UND
ACCEPT()
.
531
11.6.5
SENDEN
UND
EMPFANGEN
VON
DATEN
MIT
WRITE()
UND
READ()
.
532
11.6.6
SENDEN
UND
EMPFANGEN
VON
DATEN
MIT
SEND()
UND
RECV()
.
533
11.6.7
EINE
VERBINDUNG
WIEDER
SCHLIESSEN
MIT
CLOSE()
.
535
11.7
AUFBAU
EINES
CLIENTPROGRAMMS
.
535
11.7.1
ZUSAMMENFASSUNG:
CLIENTANWENDUNG
UND
QUELLCODE
.
538
11.8
AUFBAU
DES
SERVERPROGRAMMS
.
540
11.8.1
ZUSAMMENFASSUNG:
SERVERANWENDUNG
UND
QUELLCODE
.
541
11.9
IP-ADRESSEN
KONVERTIEREN,
MANIPULIEREN
UND
EXTRAHIEREN
.
545
11.9.1
INET_ATON(),
INET_PTON()
UND
INET_ADDR()
.
545
11.9.2
INET_NTOA()
UND
INET_NTOP()
.
547
11.9.3
INET_NETWORK()
.
547
11.9.4
INET_NETOF()
.
548
11.9.5
INET_LNAOF()
.
548
11.9.6
INET_MAKEADDR()
.
549
11.10
NAMEN
UND
IP-ADRESSEN
INEINANDER
UMWANDELN
.
552
11.10.1
NAMESERVER
.
553
11.10.2
INFORMATIONEN
ZUM
RECHNER
IM
NETZ-GETHOSTBYNAME
UND
GETHOSTBYADDR
.
553
11.10.3
SERVICE-INFORMATIONEN
ERMITTELN
MIT
GETSERVBYNAME()
UND
GETSERVBYPORT()
.
558
11.11
PUFFERUNG
BEI
NETZWERK-SOCKETS
.
562
11.12
STANDARD-E/A-FUNKTIONEN
VERWENDEN
.
563
11.12.1
PUFFERUNG
VON
STANDARD-E/A-FUNKTIONEN
.
565
11.13
PARALLELE
SERVER
.
565
11.14
SYNCHRONES
MULTIPLEXING
MIT
SELECT()
.
582
INHALT
11.15
POSIX-THREADS
UND
NETZWERKPROGRAMMIERUNG
.
604
11.16
OPTIONEN
FUER
SOCKETS
SETZEN
UND
ABFRAGEN
.
610
11.16.1
OPTIONEN
SETZEN
MIT
SETSOCKOPT()
.
610
11.16.2
OPTIONEN
ABFRAGEN
MIT
GETSOCKOPT()
.610
11.16.3
VERFUEGBARE
SOCKET-OPTIONEN
.611
11.17
DAS
UDP-PROTOKOLL
(USER
DATAGRAM
PROTOCOL)
.
615
11.17.1
DIE
UDP-CLIENTANWENDUNG
.
617
11.17.2
DIE
UDP-SERVERANWENDUNG
.
618
11.17.3
RECVFROM()
UND
SENDTO()
.618
11.17.4
BIND()
VERWENDEN
ODER
WEGLASSEN
-
DAS
IST
HIER
DIE
FRAGE
.
623
11.18
UNIX
DOMAIN
SOCKETS
.624
11.18.1
DIE
ADRESSSTRUKTUR
VON
UNIX
DOMAIN
SOCKETS
.
624
11.18.2
LOKALE
SOCKETS
ERZEUGEN
MIT
SOCKETPAIR()
.
628
11.19
MULTICAST-SOCKET
.
630
11.19.1
ANWENDUNGSGEBIETE
VON
MULTICAST-VERBINDUNGEN
.
638
11.20
NICHT
BLOCKIERENDE
I/O-SOCKETS
.
639
11.21
STREAMS,
TLI,
RAW
SOCKET
UND
XTI
.
642
11.21.1
RAW
SOCKETS
.
642
11.21.2
TLI
UND
XTI
.
643
11.21.3
RPC
(REMOTE
PROCEDURE
CALL)
.
644
11.22
IPV4
UND
IPV6
.
644
11.22.1
WAS
IPV6
VON
IPV4
UNTERSCHEIDET
.
645
11.23
NETZWERKSOFTWARE
NACH
IPV6
PORTIEREN
.646
11.23.1
NEUE
KONSTANTEN
BEI
IPV6
.646
11.23.2
NEUE
STRUKTUREN
BEI
IPV6
.
647
11.23.3
NEUE
FUNKTIONEN
FUER
IPV6
.
647
11.24
SICHERHEIT
UND
VERSCHLUESSELUNG
.
647
12
MYSQL
UND
POSTGRESQL
649
12.1
RELATIONALE
DATENBANKSYSTEME
.
649
12.2
DER
RELATIONALE
DATENBANKSERVER
.
653
12.3
SQL-SERVER
IM
UEBERBLICK
.
653
12.4
DIE
MYSQL-DATENBANK
.
654
12.4.1
ANWENDUNGSGEBIETE
VON
MYSQL
.
655
INHALT
12.4.2
DIE
SCHNITTSTELLEN
VON
MYSQL
.
656
12.4.3
DIE
INSTALLATION
VON
MYSQL
.
656
12.4.4
DEN
MYSQL-SERVER
STARTEN
UND
STOPPEN
.
656
12.4.5
DIE
KONFIGURATIONSDATEI
MY.CNF
.
657
12.4.6
KOMMANDOZEILENWERKZEUGE
FUER
MYSQL
.
659
12.4.7
GRAFISCHE
CLIENTS
.
663
12.4.8
KLEINERMYSQL-CRASHKURS
.
664
12.4.9
SQL-DATENTYPEN
.
665
12.4.10
DATENBANK
ANLEGEN,
VERWENDEN
UND
LOESCHEN
.
668
12.4.11
EINE
NEUE
TABELLE
ANLEGEN
.
670
12.4.12
SCHLUESSELFELDER
FUER
TABELLENSPALTEN
ANLEGEN
.
672
12.4.13
INDIZES
.
672
12.4.14
TABELLENTYPEN
BEIM
ANLEGEN
VON
TABELLEN
.
673
12.4.15
AUTOWERTE
DEFINIEREN
.674
12.4.16
TABELLEN
UMBENENNEN
UND
AENDERN
.674
12.4.17
DATEN
EINFUEGEN,
AENDERN
UND
LOESCHEN
.
677
12.4.18
DATEN
IMPORTIEREN
.
680
12.4.19
DATEN
AUSGEBEN
.
680
12.4.20
WAS
IST
NULL?
IST
NULL0
ODER
UNDEFINIERT?
.
683
12.4.21
UNSCHARFE
SUCHE
.
683
12.5
DIE
MYSQL-C-API
.
684
12.5.1
EINE
VERBINDUNG
MIT
DEM
MYSQL-SERVER
AUFBAUEN
.
686
12.5.2
AUFGETRETENE
FEHLER
ERMITTELN
MIT
MYSQL_ERRNO()
UND
MYSQL_ERROR()
.
689
12.5.3
SCHLIESSEN
DER
VERBINDUNG
ZUM
SERVER
MIT
MYSQL_CLOSE()
.
689
12.5.4
EIN
ERSTES
BEISPIEL
.
690
12.5.5
VERSCHIEDENE
INFORMATIONEN
ERMITTELN
.
695
12.5.6
DATENBANKEN,
TABELLEN
UND
FELDER
AUSGEBEN
MIT
MYSQL_RES
.
699
12.5.7
ERGEBNISMENGE
ZEILENWEISE
BEARBEITEN
(MYSQL_ROW)
.
701
12.5.8
ERGEBNISMENGE
SPALTENWEISE
EINLESEN
UND
AUSGEBEN
(MYSQL_FIELD)
.
703
12.5.9
EIN
WEITERES
BEISPIEL
.
708
12.5.10
DIE
ERGEBNISMENGE
AUSWERTEN
-
WEITERE
WICHTIGE
FUNKTIONEN
.
715
12.5.11
BEFEHLE
AN
DEN
SERVER
-
MYSQL_QUERY()
UND
MYSQL_REAL_QUERY()
.
717
12.5.12
WEITERE
WICHTIGE
API-FUNKTIONEN
.
721
12.5.13
VERALTETE
FUNKTIONEN,
DIE
NICHT
MEHR
BENUTZT
WERDEN
SOLLTEN
.
727
12.6
BEISPIEL:
EIN
EINFACHES
NEWSSYSTEM
.
728
12.6.1
DIE
HEADERDATEI
MY_CGI.H
.
729
12.6.2
WEITERE
PLANUNG
DES
PROJEKTES
.
735
12.6.3
DIE
DATENBANK
UND
DIE
TABELLEN
ANLEGEN
.
735
12.6.4
MYSQL-CLIENTS
MIT
GUI
.
759
12.6.5
EINE
(NICHT
GANZ
UNWICHTIGE)
RANDNOTIZ
.
759
12.7
NEUE
SQL-FUNKTIONEN
FUER
DIE
SHELL
-
MYSQL
ERWEITERN
.
759
INHALT
12.8
MYSQL-FUNKTIONEN
MIT
DER
UDF-SCHNITTSTELLE
ENTWERFEN
.
760
12.8.1
UDF-SEQUENZEN
ERSTELLEN
.
762
12.8.2
DIE
UDFLINIT-STRUKTUR
.
763
12.8.3
DIE
UDF_ARGS-STRUKTUR
.
764
12.8.4
RUECKGABEWERTE
.
765
12.8.5
BENUTZERDEFINIERTE
FUNKTIONEN
ERSTELLEN
.766
12.8.6
BENUTZERDEFINIERTE
FUNKTION
KOMPILIEREN,
INSTALLIEREN
UND
AUSFUEHREN
.768
12.9
POSTGRESQL:
EIN
OBJEKTRELATIONALES
DATENBANKVERWALTUNGSSYSTEM
.
771
12.9.1
POSTGRESQL
IM
VERGLEICH
ZU
MYSQL
.771
12.9.2
SYNTAX-UNTERSCHIEDE
ZWISCHEN
MYSQL
UND
POSTGRESQL
.
773
12.9.3
POSTGRESQL
INSTALLIEREN
.
774
12.9.4
DIE
KONFIGURATIONSDATEIEN
BEI
POSTGRESQL
-
POSTGRESQL.CONF
UND
PG_HBA.CONF
.776
12.9.5
KLEINER
CRASHKURS
IN
POSTGRESQL
.778
12.9.6
DIE
POSTGRESQL-C-API
LIBPG
.
786
12.9.7
UMGEBUNGSVARIABLEN
UND
PASSWORTDATEI
.
809
12.9.8
POSTGRESQL
UND
THREADS
.
810
12.9.9
AUSBLICK
.
810
13
TERMINAL-E/A
UND
BENUTZERSCHNITTSTELLEN
FUER
DIE
KONSOLE
813
13.1
TERMIOS
.
813
13.1.1
TERMINALATTRIBUTE
BEARBEITEN
.
815
13.1.2
FLAGS
SETZEN
UND
LOESCHEN
.
821
13.1.3
TERMINALIDENTIFIZIERUNG
UEBER
SPEZIELLE
FUNKTIONEN
.829
13.1.4
DIE
BAUDRATE
VON
TERMINALS
EINSTELLEN
.
831
13.2
TERMINALINFORMATIONEN
IN
TERMINFO
.
837
13.2.1
TERMINFO
VERWENDEN
.
838
13.2.2
TERMINFO
INITIALISIEREN
MIT
SETUPTERM()
.840
13.2.3
EIGENSCHAFTEN
EINES
TERMINALS
ABFRAGEN
MIT
TIGETFLAG(),
TIGETNUM()
UND
TIGETSTR()
.
840
13.2.4
MITTERMINFO-EIGENSCHAFTEN
ARBEITEN
-
PUTP(),
TPUTS()
UND
TPARM()
.
844
13.3
HALBGRAFIK
ERSTELLEN
MIT
NCURSES
.847
13.3.1
NCURSES
INITIALISIEREN
.
848
13.3.2
TASTATURMODUS
UND
EIN
UND
AUSGABE
BEI
NCURSES
.
849
13.3.3
EIGENSCHAFT
VON
NCURSES-FENSTERN
AENDERN
UND
ABFRAGEN
.
862
13.3.4
DAS
SCROLLING
EIN
UND
AUSSCHALTEN
.
865
INHALT
13.3.5
SCHRIFTATTRIBUTE
UND
FARBEN
SETZEN
.
868
13.3.6
FENSTERROUTINEN
IN
NCURSES
.874
13.3.7
MAUSPROGRAMMIERUNG
MIT
NCURSES
.
881
14
GTK+
891
14.1
WAS
IST
GTK+?
.
891
14.1.1
WAS
SIND
GDK
UND
GLIB?
.
892
14.1.2
SCHNITTSTELLEN
VON
GTK+
ZU
ANDEREN
PROGRAMMIERSPRACHEN
.
893
14.1.3
GTK+
UND
GNOME
.
893
14.1.4
GTK-VERSIONEN
.894
14.1.5
ZUM
AUFBAU
DIESES
KAPITELS
.
895
14.2
GTK+-ANWENDUNGEN
UEBERSETZEN
.
896
14.3
EINE
EINFUEHRUNG
IN
DIE
GLIB-BIBLIOTHEK
.
897
14.3.1
DATENTYPEN
IN
DER
GLIB
.
898
14.3.2
GLIB-ROUTINEN
.
899
14.3.3
ASSERTION-FUNKTIONEN
.
901
14.3.4
SPEICHERVERWALTUNG
MIT
DER
GLIB
.
903
14.3.5
STRINGBEARBEITUNG
MIT
DER
GLIB
.906
14.3.6
DER
SELBSTVERWALTENDE
STRINGPUFFER
.911
14.3.7
GLIB-TIMER
.
914
14.3.8
DYNAMISCHE
ARRAYS
.916
14.3.9
LISTEN,
HASHTABELLEN
UND
BINAERE
BAEUME
.
921
14.3.10
AUSBLICK
GLIB
.
923
14.4
GRUNDLAGEN
DER
GTK+-PROGRAMMIERUNG
.
923
14.4.1
DIE
UMGEBUNG
INITIALISIEREN
.
924
14.4.2
WIDGETS
ERZEUGEN
UND
GEGEBENENFALLS
DIE
ATTRIBUTE
SETZEN
.
925
14.4.3
EINE
CALLBACK-FUNKTION
EINRICHTEN,
UM
EVENTS
ABZUFANGEN
.
927
14.4.4
EINE
GTK+-ANWENDUNG
BEENDEN
.
930
14.4.5
DIE
HIERARCHISCHE
ANORDNUNG
DER
WIDGETS
DEFINIEREN
.
931
14.4.6
WIDGETS
ANZEIGEN
.
932
14.4.7
SIGNALE
UND
EVENTS
ABFANGEN
UND
BEARBEITEN
-
DIE
EVENT-VERARBEITUNGSSCHLEIFE
.
933
14.4.8
GTK+
UND
UMLAUTE
-
ETWAS
UEBER
DIE
ZEICHENKODIERUNG
UNTER
GTK+
.
934
14.5
FENSTER
ANLEGEN
MIT
GTKWINDOW
.
935
14.5.1
DIALOGFENSTER
(SOGENANNTE
DIALOGBOXEN)
ERSTELLEN
.
939
14.5.2
GTKMESSAGEDIALOG
.
944
INHALT
14.6
ANZEIGEELEMENTE
.
944
14.6.1
TEXT
ANZEIGEN
MIT
GTKLABEL
.947
14.6.2
TRENNLINIEN
ERSTELLEN
MIT
GTKSEPARATOR
.951
14.6.3
GRAFIKEN
ANZEIGEN
MIT
GTKLMAGE
.
951
14.6.4
STATUSLEISTEN
ERSTELLEN
MIT
GTKSTATUSBAR
.
952
14.6.5
FORTSCHRITTSBALKEN
ERSTELLEN
MIT
GTKPROGRESSBAR
.
952
14.7
BEHAELTER
FUER
WIDGETS
.
953
14.7.1
BOXEN
(GTKBOX)
.
953
14.7.2
AUFTEILUNGEN,
REGISTER
UND
BUTTON-BOXEN
.
955
14.7.3
TABELLEN
ERSTELLEN
MIT
GTKTABLE
.
962
14.7.4
AUSRICHTEN
VON
WIDGETS
MIT
GTKALIGNMENT
.967
14.8
BUTTONS
UND
TOGGLED-BUTTONS
.
967
14.8.1
ALLGEMEINES
UEBER
BUTTONS
.
974
14.8.2
RADIO-BUTTONS
ERSTELLEN
MIT
GTKRADIOBUTTON
.
975
14.8.3
GTKRADIOBUTTON,
GTKCHECKBUTTON
UND
GTKTOGGLEBUTTON
.976
14.8.4
SIGNALE
FUER
BUTTONS
(GTKBUTTON)
.976
14.9
DATENEINGABEN
AUSWERTEN
.977
14.9.1
TEXTFELDER
ERSTELLEN
MIT
GTKENTRY
.
984
14.9.2
SCHIEBEREGLER
ERSTELLEN
MIT
GTKSCALE
.986
14.9.3
ZAHLENFELDER
ERSTELLEN
MIT
GTKSPINBUTTON
.
987
14.9.4
EINSTELLUNGEN
MIT
GTKADJUSTMENT
.988
14.9.5
GTKEDITABLE
.989
14.10
MENUES
UND
TOOLBARS
ERSTELLEN
.989
14.10.1
MENUES
AUF
DIE
EINFACHE
ART
ERSTELLEN
MIT
GTKLTEMFACTORY
.
995
14.10.2
TOOLBARS
ERZEUGEN
MIT
GTKTOOLBAR
.
1001
14.10.3
OPTIONSMENUES
ERZEUGEN
MIT
GTKOPTIONSMENU
.
1004
14.10.4
COMBO-BOXEN
ERSTELLEN
MIT
GTKCOMBO
.
1005
14.11
MEHRZEILIGEN
TEXT
ERSTELLEN
.1009
14.11.1
TEXTEDITOREN
ERSTELLEN-GTKTEXTVIEW,
GTKTEXTBUFFER
.1018
14.11.2
SCROLLENDE
FENSTER
ERSTELLEN
MIT
GTKSCROLLEDWINDOW
.
1022
14.12
AUSWAEHLEN
VON
WIDGETS
(SELECTION)
.
1023
14.12.1
EINE
DATEIAUSWAHL
ERSTELLEN
MIT
GTKFILESELECTION
.1031
14.13
EVENTS
AUSWERTEN
.
1033
14.14
WEITERE
WIDGET
UND
GTK+-ELEMENTE
IM
UEBERBLICK
.
1039
14.14.1
MIT
GTK+
BAEUME
UND
LISTEN
ERSTELLEN
.1039
14.14.2
LINEALE
.1040
14.14.3
ZWISCHENABLAGE
(CLIPBOARD)
.1040
14.14.4
DRAG
AND
DROP
.
:
.1040
INHALT
14.14.5
STOCK-ITEMS
-
REPERTOIRE-EINTRAEGE
.1040
14.14.6
SIGNALE
.
1041
14.14.7
RESSOURCE-FILES
.
1041
14.14.8
WIDGET-ENTWICKLUNG
.
1041
14.14.9
GDK
.
1041
15
UEBERSICHT
UEBER
WEITERE
BELIEBTE
GUI-BIBLIOTHEKEN
1043
15.1
GTKMM
-
GTK+
FUER
C++
.
1043
15.1.1
PROGRAMMBEISPIELE
.
1044
15.1.2
GUI-DESIGNER
GLADE
FUER
GTK+
UND
GTKMM
.1046
15.2
WXWIDGETS
.1047
15.2.1
EIN
EINFACHES
PROGRAMMBEISPIEL
FUER
WXWIDGETS
.
1048
15.2.2
GUI-DESIGNER
WXFORMBUILDER
.1050
15.3
FLTK
.
1051
15.3.1
EIN
EINFACHES
FLTK-PROGRAMMBEISPIEL
.
1051
15.3.2
GUI-DESIGNER
FLUID
.
1053
15.4
QT
.
1053
15.4.1
EIN
QT-PROGRAMMBEISPIEL
.1054
15.4.2
DER
GUI-DESIGNER
VON
QT
.
1055
15.5
DIE
NIEDRIGE
EBENE:
X-WINDOW-PROGRAMMIERUNG
.
1056
15.6
MULTIMEDIABIBLIOTHEKEN
.1057
15.6.1
DIE
SDL-BIBLIOTHEK
.
1057
15.6.2
DIE
ALLEGRO-BIBLIOTHEK
.
1057
15.6.3
OPENGL
(BZW.
MESA
3D)
.
1059
15.6.4
PROGRAMMBEISPIEL
FUER
GLUT
.
1060
16
WERKZEUGE
FUER
PROGRAMMIERER
1065
16.1
DER
COMPILER
CCC
.
1065
16.1.1
STANDARDGEBRAUCH
DES
GCC
.
1067
16.1.2
DAZULINKEN
VON
PROGRAMMBIBLIOTHEKEN
.
1068
16.1.3
DATEIEN,
DIE
GCC
KENNT
.
1069
16.1.4
AUSGABEDATEIEN
BEI
JEDEM
EINZELNEN
SCHRITT
DER
UEBERSETZUNG
ERSTELLEN
LASSEN
.1070
16.1.5
NOCH
MEHR
OPTIONEN
FUER
DEN
GCC
.
1071
INHALT
16.1.6
OPTIONEN
FUER
WARNMELDUNGEN
.
1071
16.1.7
PRAEPROZESSOR-OPTIONEN
.
1072
16.1.8
DEBUGGING
UND
PROFILING
.
1073
16.1.9
OPTIMIERUNGSFLAGS
.
1073
16.2
MAKE
.
1074
16.2.1
ERZEUGEN
EINES
MAKEFILES
.
1076
16.2.2
VARIABLEN,
MAKROS
UND
ABKUERZUNGEN
.
1083
16.2.3
IMPLIZITE
REGELN
.1087
16.2.4
MUSTERREGELN
.
1088
16.2.5
MAKE
ZUR
INSTALLATION
VERWENDEN
.
1089
16.2.6
MAKE-OPTIONEN
.
1090
16.2.7
AUSBLICK
.1090
16.3
EIGENE
BIBLIOTHEKEN
ERSTELLEN
.1091
16.3.1
STATISCHE
BIBLIOTHEKEN
ERSTELLEN
.1091
16.3.2
DYNAMISCHE
BIBLIOTHEKEN
(SHARED
LIBRARIES)
ERSTELLEN
.
1095
16.3.3
DYNAMISCHES
NACHLADEN
VON
BIBLIOTHEKEN
.1098
16.4
RPM-PAKETE
.
1101
16.4.1
EINFUEHRUNG
IN
DAS
RPM-SYSTEM
.
1102
16.4.2
VERZEICHNISSE,
DIE
RPM
BENOETIGT
.
1104
16.4.3
EIN
EIGENES
RPM-PAKET
ERSTELLEN
.
1105
16.4.4
SOURCES
.
1105
16.4.5
DIE
SPEC-DATEI
.1106
16.4.6
DAS
PAKET
ERSTELLEN
.1110
16.4.7
DAS
PAKET
INSTALLIEREN
.
1112
16.5
RCS
UND
CVS
.
1114
16.5.1
SOFTWARE-CONFIGURATION-MANAGEMENT-SYSTEME
(SCM)
.
1114
16.5.2
RCS
.
1116
16.5.3
CVS
.1126
16.6
LAUFZEITMESSUNG
VON
PROGRAMMEN
.
1143
16.6.1
EINFACHE
ZEITMESSUNG
MIT
TIME-DIE
LAUFZEIT
VON
PROZESSEN
ERMITTELN
.
1143
16.6.2
PROFILING
MIT
GPROF
-
LAUFZEIT
VON
FUNKTIONEN
.
1144
16.6.3
ANALYSE
MIT
GCOV
.
1148
16.7
DEBUGGEN
MIT
GDB
UND
DDD
.
1151
16.8
STRACE
-
SYSTEMAUFRUFE
VERFOLGEN
.
1164
16.9
MEMORY
LEAKS
UND
UNERLAUBTE
SPEICHERZUGRIFFE
.1167
16.9.1
EFENCE
.1167
16.9.2
VALGRIND
.1171
16.10
AUSBLICK
.
1175
INHALT
ANHANG
1177
A
SICHERHEIT
UNTER
LINUX
.1179
B
FUNKTIONSREFERENZ
.
1201
C
LINUX/UNIX-KOMMANDOREFERENZ
.
1283
INDEX
.
1365 |
any_adam_object | 1 |
author | Wolf, Jürgen 1974- Krooß, René |
author_GND | (DE-588)132691256 (DE-588)1211561577 |
author_facet | Wolf, Jürgen 1974- Krooß, René |
author_role | aut aut |
author_sort | Wolf, Jürgen 1974- |
author_variant | j w jw r k rk |
building | Verbundindex |
bvnumber | BV049564402 |
classification_rvk | ST 250 ST 261 |
ctrlnum | (OCoLC)1422416348 (DE-599)DNB1303215187 |
dewey-full | 005.432 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.432 |
dewey-search | 005.432 |
dewey-sort | 15.432 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 5., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV049564402</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20241022</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">240209s2024 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">23,N39</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1303215187</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836297486</subfield><subfield code="c">Festeinband : EUR 59.90 (DE), EUR 61.60 (AT), CHF 76.95 (freier Preis)</subfield><subfield code="9">978-3-8362-9748-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836297485</subfield><subfield code="9">3-8362-9748-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836297486</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1422416348</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1303215187</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</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-1050</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-706</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.432</subfield><subfield code="2">23/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">ST 261</subfield><subfield code="0">(DE-625)143633:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Wolf, Jürgen</subfield><subfield code="d">1974-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)132691256</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Linux-Unix-Programmierung</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Systemnahe Programmierung mit C und Linux</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Jürgen Wolf, René Krooß</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">5., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk</subfield><subfield code="c">2024</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1386 Seiten</subfield><subfield code="b">Illustrationen</subfield><subfield code="c">24 cm x 19 cm</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="490" ind1="0" ind2=" "><subfield code="a">Rheinwerk Computing</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: "Grundlagen, Praxisbeispiele, Referenzen, Thread-, Netzwerk- und GUI-Programmierung, Datenkbanken, Terminal-E/A, Werkzeuge, Sicherheit; alle Beispielprojekte zum Download"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Multimedia</subfield><subfield code="0">(DE-588)4192358-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenverwaltung</subfield><subfield code="0">(DE-588)4011168-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Systemprogrammierung</subfield><subfield code="0">(DE-588)4184280-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Entwicklung</subfield><subfield code="0">(DE-588)4113450-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</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="650" ind1="0" ind2="7"><subfield code="a">Rechnernetz</subfield><subfield code="0">(DE-588)4070085-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Relationales Datenbanksystem</subfield><subfield code="0">(DE-588)4130535-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Linux</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">UNIX</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Assembler</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Raspberry Pi</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Mikrocontroller</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">E/A-Funktion</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Threads</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">IPC</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">MySQL PostgreSQL</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Computersysteme</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">anwendungsorientierte Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Systemprogrammierer</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Studium lernen Ausbildung Hand-Buch Anleitung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Multitasking-Eigenschaft</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Systemprogrammierung</subfield><subfield code="0">(DE-588)4184280-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Rechnernetz</subfield><subfield code="0">(DE-588)4070085-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Relationales Datenbanksystem</subfield><subfield code="0">(DE-588)4130535-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">Datenverwaltung</subfield><subfield code="0">(DE-588)4011168-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="2"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="3"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="1"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="2"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="4" ind2="0"><subfield code="a">Multimedia</subfield><subfield code="0">(DE-588)4192358-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2="1"><subfield code="a">Entwicklung</subfield><subfield code="0">(DE-588)4113450-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2="2"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2="3"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="5" ind2="0"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="5" ind2="1"><subfield code="a">Systemprogrammierung</subfield><subfield code="0">(DE-588)4184280-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="5" ind2="2"><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="5" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Krooß, René</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1211561577</subfield><subfield code="4">aut</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-8362-9750-9</subfield><subfield code="w">(DE-604)BV049683475</subfield></datafield><datafield tag="780" ind1="0" ind2="0"><subfield code="i">Vorangegangen ist</subfield><subfield code="t">Linux-Unix-Programmierung</subfield><subfield code="z">978-3-8362-3772-7</subfield><subfield code="w">(DE-604)BV043297843</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=08e705d3f38a4bcda85097d119a608de&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</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=034909743&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20230921</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034909743</subfield></datafield></record></collection> |
id | DE-604.BV049564402 |
illustrated | Illustrated |
indexdate | 2025-01-28T19:07:21Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836297486 3836297485 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034909743 |
oclc_num | 1422416348 |
open_access_boolean | |
owner | DE-1050 DE-Aug4 DE-29T DE-1102 DE-860 DE-859 DE-703 DE-858 DE-706 |
owner_facet | DE-1050 DE-Aug4 DE-29T DE-1102 DE-860 DE-859 DE-703 DE-858 DE-706 |
physical | 1386 Seiten Illustrationen 24 cm x 19 cm |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | Rheinwerk |
record_format | marc |
series2 | Rheinwerk Computing |
spelling | Wolf, Jürgen 1974- Verfasser (DE-588)132691256 aut Linux-Unix-Programmierung Systemnahe Programmierung mit C und Linux das umfassende Handbuch Jürgen Wolf, René Krooß 5., aktualisierte Auflage Bonn Rheinwerk 2024 1386 Seiten Illustrationen 24 cm x 19 cm txt rdacontent n rdamedia nc rdacarrier Rheinwerk Computing Auf dem Umschlag: "Grundlagen, Praxisbeispiele, Referenzen, Thread-, Netzwerk- und GUI-Programmierung, Datenkbanken, Terminal-E/A, Werkzeuge, Sicherheit; alle Beispielprojekte zum Download" Multimedia (DE-588)4192358-3 gnd rswk-swf Datenverwaltung (DE-588)4011168-4 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Systemprogrammierung (DE-588)4184280-7 gnd rswk-swf Entwicklung (DE-588)4113450-3 gnd rswk-swf C Programmiersprache (DE-588)4113195-2 gnd rswk-swf Rechnernetz (DE-588)4070085-9 gnd rswk-swf LINUX (DE-588)4337730-0 gnd rswk-swf Graphische Benutzeroberfläche (DE-588)4275084-2 gnd rswk-swf Relationales Datenbanksystem (DE-588)4130535-8 gnd rswk-swf Linux UNIX Assembler C Raspberry Pi Mikrocontroller E/A-Funktion Threads IPC MySQL PostgreSQL Computersysteme anwendungsorientierte Programmierung Systemprogrammierer Studium lernen Ausbildung Hand-Buch Anleitung Multitasking-Eigenschaft LINUX (DE-588)4337730-0 s Systemprogrammierung (DE-588)4184280-7 s DE-604 Rechnernetz (DE-588)4070085-9 s Programmierung (DE-588)4076370-5 s Relationales Datenbanksystem (DE-588)4130535-8 s Datenverwaltung (DE-588)4011168-4 s Graphische Benutzeroberfläche (DE-588)4275084-2 s Multimedia (DE-588)4192358-3 s Entwicklung (DE-588)4113450-3 s C Programmiersprache (DE-588)4113195-2 s Krooß, René Verfasser (DE-588)1211561577 aut Rheinwerk Verlag (DE-588)1081738405 pbl Erscheint auch als Online-Ausgabe 978-3-8362-9750-9 (DE-604)BV049683475 Vorangegangen ist Linux-Unix-Programmierung 978-3-8362-3772-7 (DE-604)BV043297843 X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=08e705d3f38a4bcda85097d119a608de&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034909743&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20230921 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Wolf, Jürgen 1974- Krooß, René Systemnahe Programmierung mit C und Linux das umfassende Handbuch Multimedia (DE-588)4192358-3 gnd Datenverwaltung (DE-588)4011168-4 gnd Programmierung (DE-588)4076370-5 gnd Systemprogrammierung (DE-588)4184280-7 gnd Entwicklung (DE-588)4113450-3 gnd C Programmiersprache (DE-588)4113195-2 gnd Rechnernetz (DE-588)4070085-9 gnd LINUX (DE-588)4337730-0 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd Relationales Datenbanksystem (DE-588)4130535-8 gnd |
subject_GND | (DE-588)4192358-3 (DE-588)4011168-4 (DE-588)4076370-5 (DE-588)4184280-7 (DE-588)4113450-3 (DE-588)4113195-2 (DE-588)4070085-9 (DE-588)4337730-0 (DE-588)4275084-2 (DE-588)4130535-8 |
title | Systemnahe Programmierung mit C und Linux das umfassende Handbuch |
title_alt | Linux-Unix-Programmierung |
title_auth | Systemnahe Programmierung mit C und Linux das umfassende Handbuch |
title_exact_search | Systemnahe Programmierung mit C und Linux das umfassende Handbuch |
title_full | Systemnahe Programmierung mit C und Linux das umfassende Handbuch Jürgen Wolf, René Krooß |
title_fullStr | Systemnahe Programmierung mit C und Linux das umfassende Handbuch Jürgen Wolf, René Krooß |
title_full_unstemmed | Systemnahe Programmierung mit C und Linux das umfassende Handbuch Jürgen Wolf, René Krooß |
title_old | Linux-Unix-Programmierung |
title_short | Systemnahe Programmierung mit C und Linux |
title_sort | systemnahe programmierung mit c und linux das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | Multimedia (DE-588)4192358-3 gnd Datenverwaltung (DE-588)4011168-4 gnd Programmierung (DE-588)4076370-5 gnd Systemprogrammierung (DE-588)4184280-7 gnd Entwicklung (DE-588)4113450-3 gnd C Programmiersprache (DE-588)4113195-2 gnd Rechnernetz (DE-588)4070085-9 gnd LINUX (DE-588)4337730-0 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd Relationales Datenbanksystem (DE-588)4130535-8 gnd |
topic_facet | Multimedia Datenverwaltung Programmierung Systemprogrammierung Entwicklung C Programmiersprache Rechnernetz LINUX Graphische Benutzeroberfläche Relationales Datenbanksystem |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=08e705d3f38a4bcda85097d119a608de&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034909743&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT wolfjurgen linuxunixprogrammierung AT krooßrene linuxunixprogrammierung AT rheinwerkverlag linuxunixprogrammierung AT wolfjurgen systemnaheprogrammierungmitcundlinuxdasumfassendehandbuch AT krooßrene systemnaheprogrammierungmitcundlinuxdasumfassendehandbuch AT rheinwerkverlag systemnaheprogrammierungmitcundlinuxdasumfassendehandbuch |