Hallo und Willkommen.
In diesem Vortrag möchte ich sprechen über die include-Anweisung.
Und so wieder von unserem ersten Fordern Sie
unsere erste Begegnung mit C-Code und C-Programm heraus, die Sie haben sollten bemerkte diese include-Anweisung.
Es ist hier in Zeile acht Beispiel, und
dies ist unser Beispiel für das Herausforderungsprojekt Basic C-Programm.
Sie sehen, es ist enthalten.
Und jetzt, weil wir gelernt haben Über den Präprozessor wissen
wir, dass es sich um eine Präprozessor-Direktive handelt weil wir dieses Pfundsymbol haben.
Alles was mit dem beginnt Pfund-Symbol
vor allen anderen Leerzeichen ist ein Präprozessor-Befehl, eine Präprozessor-Direktive.
Und so wissen wir, dass Zeile acht enthält Ein spezielles Schlüsselwort mit
dem Pfund-Symbol ist eine vorverarbeitete Anweisung.
Ich möchte es dir jetzt erklären Was genau macht das?
Was bedeutet das?
Auch dies ist ein Grundkonzept in c darüber müssen wir sehr früh
sprechen, weil jedes c-Programm es hat.
Es ist sehr ähnlich, wenn Sie vertraut sind mit Java mit der Importanweisung.
Aber wir werden das in beschreiben Details jetzt in einigen Folien, aber Sie
werden dies in all Ihren c-Programmen sehen.
Die include-Anweisung lautet also a Präprozessor-Direktive Aufgrund dieses Pfund-Symbols
wissen wir das.
Und wir nennen es eine Aussage als gegen eine Richtlinie ohne wirklichen Grund, nur
weil es üblich ist Verwenden Sie diesen Begriff in der Programmiersprache, aber es handelt sich
technisch gesehen um eine Richtlinie.
Und wieder das Beispiel in unserem Das Programm hat dieses Etwas
in diese spitzen Klammern aufgenommen.
Wir sehen also, dass dieses Schlüsselwort enthalten ist und dann sehen wir dieses stdio. h.
Das ist also ein Beispiel.
Dies ist derjenige, den wir verwendet in unserer ersten Herausforderung.
Es ist nicht unbedingt ein Teil des ausführbaren Programms.
Allerdings das Programm wird ohne es nicht funktionieren.
Wir wissen, dass es ein ist vorverarbeitete Richtlinie.
Es macht nicht wirklich viel soweit das Programm funktioniert.
Es sagt nur dem Compiler bevor es läuft, hey, wir haben hier etwas mit
diesem Include gemacht.
Und wenn Sie es nicht haben Dort wird sich der Compiler
beschweren und Fehler auslösen.
Also brauchst du es.
Das Pfund-Symbol zeigt das an Es ist eine Vorverarbeitungsrichtlinie.
Wir haben darüber gesprochen eine Anweisung Ihres Compilers, vorher
etwas zu tun Kompilieren des Quellcodes.
Es gibt viele, viele Vorverarbeitungen Richtlinien, und wir haben einige Beispiele
in unserer Vorverarbeitungsvorlesung gegeben.
Wir haben über Konstanten gesprochen, definierte Aussagen.
Wir haben darüber gesprochen, ob und sonst und so weiter anders als
die bedingten Vorverarbeitungsrichtlinien.
Aber das ist eines der wirklichsten häufig verwendete, die einschließen.
Und so können diese Richtlinien auch Sei irgendwo in deinem Quellcode, aber sie
sind normalerweise ganz oben.
Im Include speziell dies Die Include-Präprozessor-Direktive ist der Import-Anweisung sehr
ähnlich in Java, wenn Sie damit vertraut sind.
Aber was heißt das?
Also im obigen Beispiel hier mit das Include-Pfund-Symbol stdio. h, das sagt dein
Compiler um einige Ihrer Programminhalte der Datei mit
diesem Namen aufzunehmen.
Es gibt also einen Dateinamen, der existiert irgendwo namens stdio. h.
Und was die Richtlinie sagt, ist Mein aktuelles Programm, das
die Direktive enthält, benötigt einige Inhalte in dieser Datei, um zu kompilieren.
Also speziell das Include Direktive wird Dateinamen haben, die auf
enden. h.
Diese werden als Header-Dateien bezeichnet.
Sie werden Header-Dateien genannt weil sie normalerweise oben
in der Quelldatei enthalten sind.
Es ist eines der ersten Dinge, die Sie tun ist, dass Sie alle Ihre Header-Dateien einschließen.
Und wieder dieser Präprozessor Die Direktive besagt,
dass ich einen Teil des Inhalts in dieser Datei haben möchte.
Es ist keine C-Datei.
Wir wissen, dass Dateien enden in einem . c sind c Quelldateien.
Also die. h muss sein etwas anderes, und es ist.
Es ist eine Header-Datei.
Und das hat es. h Verlängerung.
Reden wir also darüber Was für eine Header-Datei ist.
Header-Dateien definieren Informationen über einige der Funktionen, die von
dieser Datei bereitgestellt werden.
Und ich gebe Ihnen ein Beispiel des Inhalts in einer Header-Datei.
Aber zuerst definieren sie einige Informationen zu einem Quellcode.
Und speziell für unser Beispiel mit dem eingeschlossenen stdio. h, dies beinhaltet
einen c-Standardbibliotheksheader.
Also denk dran, sagte ich Sie über Bibliotheken.
Bibliotheken sind nur zusätzliche Funktionalität, die bereits für Sie geschrieben wurde und
die Sie kann in Ihr Programm aufgenommen werden, sodass Sie es
nicht neu schreiben müssen.
Beispiele für Bibliotheken sind also wieder Lesen und Schreiben auf der Konsole, Anzeigen
der Ausgabe, Lesen und Schreiben von Dateien, viele verschiedene Dinge, die
Netzwerkcode tun, viele viele verschiedene Bibliotheken da draußen.
Aber stdio. h ist eine c-Standardbibliothek.
Das heißt, es kommt mit die Programmiersprache c
und bietet Funktionen für die Anzeige Ausgabe unter vielen, vielen anderen Dingen.
Also stdio. h, es ist eine Header-Datei.
Es definiert einige Funktionen, die Der Compiler muss verstehen, bevor er es
tatsächlich verwenden kann.
Also speziell stdio. h enthält Informationen zu printf.
Und so werden wir reden über printf in der
nächsten Vorlesung, die uns hilft, die Ausgabe anzuzeigen, Aber printf ist eine Funktion, die
im stdio enthalten ist. h Header-Datei.
Und es enthält auch viele andere Funktionen.
Stdio ist die Abkürzung für Standardeingabe Ausgabe.
Diese Bibliothek beschreibt also Es enthält Funktionen für den Umgang mit
Ein- und Ausgabe.
Das ist also das Konzept einen aussagekräftigen Namen zu verwenden.
Das wollen wir nicht nennen Bibliothek Jason oder Jason. h weil das nicht
sinnvoll ist.
Wir verwenden stdio. h weil es heißt standard io.
Standardeingabe und -ausgabe, und wir wissen dass diese Bibliothek alle Arten von Funktionen für
den Import von Alpha enthält.
Speziell Funktionalität, die Wir möchten in unserem Herausforderungsprogramm unser erstes Beispielprogramm verwenden
ist, dass wir diese Funktion namens printf verwenden möchten, die
es uns ermöglicht Ausgabe an die Konsole anzeigen.
Und so durch die Aufnahme dieses stdio. h in Unser Quellcode, sagen wir, um diese Funktionalität davon
zu nutzen printf, wir müssen diese Datei einschließen.
Also werden Header-Brände spezifizieren Informationen, die der Compiler verwendet, um
eine Wiederverwendung zu integrieren und zu nutzen Code, alle Funktionen innerhalb eines Programms.
Sie werden also entweder viele verwenden viele verschiedene Standard-Bibliotheks-Header-Dateien und
es gibt viele da draußen, stdio. h ist nur einer.
Es gibt wieder Header-Dateien, die definieren Funktions- oder
Funktionsprototypen für Netzwerkcode, Socket-Code.
Wieder werden wir durch a gehen viele von ihnen, Zeichenfolgen für vollständige Wörter
und solche Dinge.
Aber zusätzlich zum c-Standard Bibliothek in den verschiedenen Bibliotheken, die mit der c-Programmierung
geliefert werden Sprache können Sie auch Ihre eigenen Header-Dateien
erstellen, und Sie werden Erstellen eigener Header-Dateien, da Header-Dateien die
Wiederverwendung von Software ermöglichen.
Sie ermöglichen die Wiederverwendung Funktionalität geschrieben in c.
Also haben irgendwo die Designer von c geschrieben all dieser c-Code, der Daten liest und
schreibt und die Eingabe und Ausgabe verarbeitet.
Sie wollen diesen neuen c-Programmierer nicht ihre eigenen schreiben müssen.
Also werden sie schreiben es für Sie,
und sie werden sagen, dass Sie es verwenden können.
Und die Art und Weise, wie Sie es verwenden, ist Sie fügen die Header-Datei hinzu.
Und so sind Sie als Ihr eigener Entwickler Sie können Code in ein großes, großes Programm
schreiben, Tausende von Dateien, die Sie möchten in anderen Dateien verwendet werden.
Und so wirst du schreiben Ihre eigenen Header-Dateien.
Und wieder die Header-Dateien, werden Funktionsprototypen definieren,
verschiedene Konstanten, alle möglichen Dinge, die einem anderen helfen
werden Datei, die Ihr Programm verwenden kann, hilft es beim
Kompilieren Ihres Programms.
Es ist also eine Wiederverwendung von Software Technik im Wesentlichen.
Also werden wir das aufnehmen Standard io. Header-Datei in einem Programm, wann
immer wir verwenden müssen Die printf-Funktion aus
der Standardbibliothek ist erforderlich.
Wenn Sie nicht aufgenommen haben es wird nicht kompiliert.
Also wann immer Sie verwenden Für bestimmte Funktionen müssen
Sie das Include verwenden.
Die Syntax für Header-Dateien Gehen Sie, sie unterscheiden zwischen Groß- und Kleinschreibung.
Groß- und Kleinschreibung bedeutet Groß- oder Kleinbuchstaben.
Es ist wichtig, ob Sie mach das eine oder andere.
Also solltest du immer schreibe sie in Kleinbuchstaben.
Ihre Header-Dateien sollten sich in befinden Kleinbuchstaben, da sonst bestimmte
Systeme interpretieren können Sie haben eine andere Bedeutung.
Es gibt zwei Möglichkeiten, dies einzuschließen Header-Dateien in einem Programm.
Sie können spitze Klammern verwenden wie Pfund gehören
Jason. h und spitze Klammern.
Und was dies normalerweise bedeutet, ist es Weisen Sie den Präprozessor an,
nach einer Datei in einem Systemverzeichnis zu suchen.
Es ist normalerweise eine Standardbibliothek, die kommt mit der Programmiersprache c.
Sie können auch doppelte Anführungszeichen verwenden.
Doppelte Anführungszeichen bedeuten normalerweise, dass es bedeutet Es ist eine benutzerdefinierte Header-Datei.
Es ist eines, das Sie als erstellt haben Entwickler, der
aber nicht mit der Programmiersprache c geliefert wurde Sie möchten diesen Header dort
haben, weil Sie Code wiederverwenden möchten.
So wird es auch sagen Suchen Sie im aktuellen Verzeichnis.
Jeder konforme c-Compiler nach dem C11-Standard wird eine
Reihe von Standard-Headern haben mitgelieferte Dateien.
Dies sind nur Header-Dateien die Bibliotheken darstellen.
C Funktionalität, die kommt mit der Sprache.
Wenn Sie die include-Direktive verwenden, Es ist üblich, die anderen Präprozessor-Direktiven zu verwenden, wenn dies nicht der
Fall ist Suchen und Definieren, damit Sie die Datei nicht mehr
als einmal einschließen.
Dies dient der Effizienz.
Wenn Ihr Programm printf verwendet, Wenn Sie beispielsweise die Ausgabe auf
dem Bildschirm anzeigen, möchten Sie Ihrem Programm mitteilen, Hey, ich muss diese
zusätzliche Funktionalität in die Standardbibliothek aufnehmen.
Du willst es nicht sagen Fügen Sie es mehrmals ein, da der Präprozessor
viele Aufgaben ausführt Dinge, die es nicht tun muss.
Normalerweise wirst du es also tun verwenden, wenn nicht definiert.
Sie werden also einige davon in einigen sehen von den Beispielen, die ich
zur Verfügung stelle, wo ich die Includes in diese if einpacke definiert und definiert keine Anweisungen.
Hier ist ein Beispiel für eine Header-Datei in ihrem Inhalt.
Möglicherweise haben Sie eine Header-Datei. hat einige Kommentare drin, es könnte
andere Dinge drin haben.
Es hat hauptsächlich Funktion Prototypen darin, aber es kann
Konstanten haben, es kann typedefs haben.
Dies sind einige Konzepte, die wir verstehen noch nicht.
Aber ich versuche nur zu veranschaulichen Ich versuche Ihnen zu helfen zu verstehen,
dass es viele verschiedene Dinge enthält.
Aber nochmal für unser stdio. h, da ist etwas dort drin namens printf, das die printf-Funktion
definiert Wenn wir also verlinken, können wir den Implementierungscode
dafür finden.
Hier sind einige Funktionsprototypen.
Funktionsprototypen sind nur Namen von Funktionen.
Wir wissen, was eine Funktion ist hoffentlich ist es jetzt
nur eine Möglichkeit, Code zu gruppieren.
Wir werden über Funktionen sprechen später viel detaillierter.
So kann eine Header-Datei enthalten viele, viele verschiedene Dinge.
Es kann definierte Richtlinien enthalten, Konstanten, Strukturdeklarationen.
Dies ist wieder eine Möglichkeit, andere zu gruppieren Variablen, gruppieren verschiedene Daten.
Typedef-Anweisungen haben mit Datentypen zu tun.
Wir werden mehr darüber reden.
Aber Funktionsprototypen sind wirklich das Wichtige.
Sie sagen dir, wie es funktioniert definiert sind, damit der Compiler den Code generieren
kann, den er benötigt.
Ausführbarer Code geht in einer Quellcodedatei.
Die Quellcodedatei endet in dem . c Erweiterung.
Normalerweise ausführbarer Code geht nicht in eine Header-Datei.
Es gibt einige Ausnahmen.
Wenn Sie Dinge inline erledigen möchten Das ist wieder eine
Effizienzsache, wenn man sagen kann Quellcode
in Header-Dateien, aber in der Regel a. h Datei, a Die Header-Datei enthält keinen Implementierungscode.
Es wird Zeilen enthalten von Code für nur Definitionen.
In Ordnung, es geht nicht irgendeine Logik darin zu sein.
Es werden nur Definitionen sein.
Diese Funktion ist vorhanden.
Diese Funktion existiert.
Diese Konstanten existieren.
Diese unterschiedlichen Strukturen existieren.
Sie sagen nicht, wie dieser Code tut was es tut.
Es sagt dir nur, dass es da ist.
Es wird vom Compiler benötigt um die Verknüpfung zu generieren.
Okay, also wirst du Erstellen Sie Ihre eigenen Header-Dateien.
Sie werden den Systemheader verwenden Dateien für zusätzliche Funktionen.
Es ist ein Konzept, das Sie brauchen Verstehen Sie, bevor Sie mit
dem Schreiben von c-Programmen fortfahren, weil Sie werden sehen,
dass diese Include-Direktive in allen Programmen enthalten ist.
Und es erzählt nur das Programm wieder, dass wir irgendwo einen
zusätzlichen Code einfügen.
Wir fügen eine zusätzliche Definition hinzu Code, damit wir
nun diese verschiedenen Funktionen in diesem aufrufen können anderer Code in unserem c-Programm.
Ich hoffe das macht Sinn.
Wieder ist es nicht real kompliziertes Konzept.
Wir fügen zusätzlichen Code hinzu.
Es ist ziemlich intuitiv, aber Wir werden es durchgehen und
im Laufe der Zeit weitere Beispiele liefern.
Danke.