ebook img

Ex-C-ellent: Das Microsoft®-Handbuch fur den fortgeschrittenen C-Programmierer PDF

471 Pages·1988·25.377 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Ex-C-ellent: Das Microsoft®-Handbuch fur den fortgeschrittenen C-Programmierer

[x- -ellent Augie Hansen [x- -ellent Das Microsoft®-Handbuch rur den fortgeschrittenen C-Programmierer Übersetzt von Andreas Dripke, Michael Krause und Angelika Schätzel VIEWEG Dieses Buch ist die deutsche Übersetzung von Augie Hansen PROFICIENT C The Microsoft® guide to intermediate and advanced C programming Microsoft Press, Redmond, Washington, 98073 Copyright © 1987 by Augie Hansen Übersetzung aus dem Amerikanischen: Andreas Dripke, Michael Krause und Angelika Schätzel Microsoft® und MS-DOS® sind eingetragene Warenzeichen der Microsoft Corporation. Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend einer Art verbunden. Der Autor, die Übersetzer und der Verlag übernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgend eine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann. Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig 1988 Softcover reprint of the hardcover 1st edition 1988 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere ftir Vervielfaltigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. ISBN 978-3-322-98592-7 ISBN 978-3-322-98591-0 (eBook) DOI 10.1007/978-3-322-98591-0 Inhaltsverzeichnis Einführung ....... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . Teil 1 Der C-Compiler und seine Verwendung 3 Kapitel 1 Der C-Compiler ...................................... 5 Kapitel 2 Programmentwicklung ................................. 13 Kapitel 3 Die Verknüpfung zwischen DOS und C . . . . . . . . . . . . . . . . . . . . . .. 19 Teil 2 Standardbibliotheken und Schnittstellen .................. 37 Kapitel 4 Benutzung der Standardbibliotheken . . . . . . . . . . . . . . . . . . . . . . .. 39 KapitelS Schnittstelle zum Betriebssystem .......................... 57 Kapitel 6 Die Benutzerschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 115 Kapitel 7 Automatische Programmkonfigurierung ...................... 155 Teil3 Dateiorientierte Programme ............................ 189 Kapitel 8 Datei-Utilities ....................................... 191 Kapitel9 Dateiausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 229 Kapitel 10 Ausgabe von Nicht-ASCII-Dateien ............ . . . . . . . . . . . .. 255 Teil4 Bildschirmorientierte Programme ........................ 273 Kapitel 11 Bildschirmzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 275 Kapitel 12 Gepufferte Bildschirmzugriffsfunktionen .................... 295 Kapite113 Der ANSI-Einheitentreiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 325 Kapitel 14 Betrachtung von Daten ................................ 357 Teil 5 Anhänge ........................................... 393 Anhang A Microsoft C-Compiler Version 4.00 ........................ 395 Anhang B Andere C-Compiler ................................... 403 Anhang C Zeichen und Attribute .................... . . . . . . . . . . . .. 407 Anhang D Zusammenfassung der lokalen Bibliotheken ..... . . . . . . . . . . . . .. 419 Sachwortverzeichnis ....................................... 461 Einführung 1 Einführung Dieses Buch ist für Programmierer geschrieben worden. Sie werden hier viele hilfreiche Tools und Utility-Programme finden, die Sie bei Ihrer Tätigkeit als Programmierer einsetzen können. Es werden viele bewährte Techniken vorgeführt, die Ihnen bei der Lö sung schwerwiegender Probleme helfen sollten. Die in diesem Buch ent wickelten Programme sind so aufgebaut, daß die einzelnen Module mög lichst vielfältig genutzt werden können. Von den Standardbibliotheksrou tinen, die mit vielen C-Compilern geliefert werden, wird ebenfalls Ge brauch gemacht (sofern dies nötig und sinnvoll ist). Voraussetzungen Sie sollten mit der Programmiersprache C oder einer anderen Hochsprache (wie Pascal, ALGOL, Modula-2 oder Ada) vertraut sein. In der Program mierung unerfahrene Leser sollten sich mit Sekundärliteratur beschäftigen. Hier werden Variationen in C von Steve Schustack (erschienen beim Vie weg-Verlag) oder das Standardwerk von KernighanjRitchie empfohlen. Programmierer, die bisher nur BASIC kennengelernt haben, sollten sich insbesondere mit der Umleitung und Rekursion in C beschäftigen, da die se Punkte für den Erstanwender schwer zu verstehen sind. Hardware und Software Es sollte eine Hauptspeicherkapazität von mindestens 512 Kbytes vorhan den sein (hiermit ist das Einrichten einer RAM-Disk bereits einkalku liert). Die Verwendung einer Festplatte zur Kompilierung der Programme ist in jedem Fall angeraten, da die Compilerläufe andernfalls zu häufigem Diskettenwechsel führen. Alle Programme wurden auf einem IBM PC mit MS-DOS 3.0 unter dem Microsoft C-Compiler 4.0 getestet. Bei der Ausführung der Programme unter Quick-C und Microsoft C 5.0 sollten keine Probleme auftreten, wenn Sie die Hinweise in den Anhängen zum Aufruf der Compilerläufe beachten. Die Programme funktionieren ab DOS 2.00. Die Übertragung auf andere C-Compiler sollte ohne große Änderungen möglich sein, wenn diese den ANSI-Standard unterstützen. 2 Einführung Der mit dem Betriebssystem gelieferte DOS-Linker wurde zum Binden der Programme eingesetzt. Wichtig ist hierbei, daß der Linker Pfadnamen verarbeiten kann. Struktur Das Buch unterteilt sich in fünf Teile: Im ersten Teil finden Sie eine Erklärung des ANSI-Standards und des C-Compilers (Aufrufsyntax), Informationen zur Programmentwick lung und zur Verknüpfung zwischen DOS und C. Im zweiten Teil stellen wir die Standardbibliotheken und Schnittstel len vor, die mit dem C-Compiler geliefert werden. Auch die automa tische Programmkonfigurierung ist hier zu finden. Im dritten Teil finden Sie dateiorientierte Programme, die beispiels weise der Anzeige von ASCII- und Nicht-ASCII-Dateien dienen. Der vierte Teil beschäftigt sich mit bildschirmorientierten Program men. Hierin ist der Zugriff auf den Bildschirmpuffer ebenso erklärt wie die Benutzung des Einheitentreibers ANSI.SYS. Die Anhänge bilden den letzten Teil des Werkes und enthalten Infor mationen über verschiedene C-Compiler, deren Aufruf und Ände rungen, die bei der Übertragung beachtet werden müssen. Eine Ta belle der Zeichen und Attribute sowie eine Zusammenfassung der in diesem Buch entwickelten Programmodule finden Sie hier ebenfalls. Vereinbarungen Die folgenden Vereinbarungen wollen wir an dieser Stelle mit Ihnen tref fen: DOS-Programm werden in Großbuchstaben abgedruckt (DIR, TYPE). Gleiches gilt für Programmnamen (zum Beispiel PR), wenn der Be zug auf ausführbare Programme vorliegt. Namen von C-Funktionen, Variablen und Schlüsselworten werden kursiv dargestellt (zum Beispiel main( ). Auch Quelldateien (prog.c, prog.obj) und benutzerdefinierte Funktionen, Konstanten- und Va riablennamen werden auf diese Weise bezeichnet. Teil 1 Der C-Compiler und seine Verwendung 4 Teil 1 Der C-Compiler und seine Verwendung 1 Der C-Compiler 5 Kapitell Der C-Compiler Die in einer UNIX-Umgebung entwickelte Programmiersprache C hat in zwischen auf die Programmierung unterschiedlichster Geräte und Be triebssysteme Einfluß genommen. Ob ein 8080-System mit SlOO-Bus unter dem Betriebssystem CP/M, ein CRA Y -2 unter dem Betriebssystem Unix System V oder ein in diesem Bereich anzusiedelnder Computer program miert wird, es gibt mit Sicherheit einen C-Compiler für das System. In diesem Kapitel werden der Standard des American National Standard Institute (ANSI) sowie einige Erweiterungen der Sprache C vorgestellt. Desweiteren wird ein Überblick über den Microsoft C-Compiler mit sei nen Speichermodellen und die Programmierwerkzeuge der Sprache C ge geben. Standards und Kompatibilität Wenn sich Standards entwickeln, ist zu prüfen, ob sie sich mit bereits be stehenden Standards vertragen (daß heißt, ob sie kompatibel sind). So ver hält es sich auch mit der Sprache C. DER ANSI-STANDARD DER SPRACHE C Der erste Versuch der Standardisierung der Programmiersprache C wurde von ihrem Entwickler Dennis M. Ritchie in Form des C Reference M an ual vorgestellt. Das Handbuch ist als Anhang des Buches The C Program ming Language (Programmieren in C) von Brian Kernighan und Dennis M. Ritchie veröffentlicht worden. Für viele Jahre war dieses Buch die einzige Beschreibung der Sprache C. Natürlich haben sich im Laufe der Zeit Änderungen im Sprachumfang ergeben, die nicht von allen Compi ler-Herstellern übernommen wurden. Dadurch hat die Portabilität zwi schen unterschiedlichen Rechnern, aber auch zwischen unterschiedlichen Compiler-Implementierungen für den gleichen Rechner gelitten. Das jusrjgroup-Komitee stellte den UNIX 1984 Standard für eine Stan dardisierung unter dem Betriebssystem UNIX vor. Ein wichtiger Aspekt war dabei die Festlegung einer Grundmenge von Bibliotheksroutinen. Viele der Empfehlungen sind in die System V Interface Definition von AT& T eingegangen, die eine Basis für Zugriffe auf das Betriebssystem 6 Teil I Der C-Compiler und seine Verwendung und andere Bibliotheksroutinen darstellt. Der momentane de-facto-Stan dard der Sprache C ist die UNIX System V Implementation von AT&T. Der ANSI-Standard für die Sprache C ist der Versuch, Portabilität, War tungsmöglichkeit und Effizienz der Sprache C auf den unterschiedlichsten Computersystemen sicherzustellen. Als Grundstein verwendet der Standard das C Reference Manual und den UNIX 1984 Standard. Die folgende Li ste zeigt einige Merkmale, die die Sprache C seit ihrer ursprünglichen Definition erhalten hat: enum, ein Aufzählungstyp der Sprache C. void, ein Schlüsselwort, das anzeigt, daß eine Funktion kein Resultat liefert. Verbesserte Handhabung von Strukturen. Die Namen von Struktur elementen müssen nicht eindeutig sein. Strukturen können als Argu mente an Funktionen übergeben und von diesen zurückgegeben wer den. Zudem können Strukturen einander zugewiesen werden. Funktionsdeklarationen. Diese können eine Aufzählung der Argu menttypen enthalten, um dem Compiler Anzahl und Typ der Über gabeparameter mitzuteilen. Hexadezimale Zeichenkonstanten können mit einem einleitenden um gekehrten Schrägstrich \, gefolgt von ein bis drei hexadezimalen Zif fern (0 bis F) angegeben werden. Vor dem Nummernzeichen # in Präprozessordirektiven dürfen Leer zeichen erscheinen, um eine Einrückung der Direktiven zu ermögli chen. Folgende weitere Direktiven wurden hinzugefügt: #if defined(Ausdruck) #elif(Ausdruck) STA NDARDROUTINEN DER LAUFZEITBIBLIOTHEK Die Standardbibliotheken (die zu jedem C-Compiler gehören) setzen sich aus Routinen zusammen, deren Verwendung sich im Laufe der Zeit als sinnvoll herausgestellt hat. Einige der Routinen (zum Beispiel readO und lVrite()) sind Funktionen der Systemebene und stellen die Verbindung zu dem unter der Sprache liegenden Betriebssystem her. Andere Routinen (zum Beispiel Zeichenkettenfunktionen und Makros) gehören zur externen Unterprogrammbibliothek. Im vierten Kapitel werden einige repräsentati ve Funktionen der Standardbibliothek untersucht und Anwendungsbei spiele in Programmen gezeigt. In den letzten Jahren wurden einige Erweiterungen an den Bibliotheken vorgenommen. Dabei handelt es sich um PufferverwaItungsroutinen, neue S tring bear bei tungsfu n k tionen, erweiterte Ein -/ A usgabef ehler behandl ungs-

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.