Das beste C-Header-Dateien-Tutorial im Jahr 2024. In diesem Tutorial können Sie Referenz-Syntax-Header-Dateien,Referenz Aktionen Header-Dateien,eine Header-Datei Referenzen Nur,Bedingte Zitat, lernen
Die Header - Datei ist die Dateierweiterung.h, einschließlich einer C - Funktion Erklärungen und Makrodefinitionen, die von mehreren Quelldateien geteilt zitiert.Es gibt zwei Arten von Headern: Programmierer-Header-Dateien zu schreiben und Compiler kommt mit Header-Dateien.
Im Programm können Sie die Header - Dateien verwenden möchten, verwenden Sie die C Präprozessordirektive# include , um es zu verweisen.Wir haben bereits die Header - Dateistdio.h gesehen, die die Header - Datei, die mit dem Compiler kommt.
Zitat Header-Datei entspricht den Inhalt der Header-Datei zu kopieren, aber wir werden den Inhalt der Header-Datei direkt in der Quelldatei nicht kopieren, weil sie damit anfällig ist, auf Fehler vor allem, wenn das Programm aus einer Vielzahl von Quelldateien zusammengesetzt ist.
Eine einfache Praxis in C oder C ++ Programm, empfohlen, dass alle Konstanten, Makros, globale Variablen und Funktionsprototypen System in der Header-Datei geschrieben werden, wenn jederzeit auf diese Header beziehen benötigt.
Mit Vorverarbeitung Direktiven#include können Dateien Benutzer- und System - Header verweisen.Es hat die folgenden zwei Formen:
#include <file>
Diese Form wird verwendet, System-Header-Dateien zu verweisen. Es sucht nach einer Datei mit dem Namen Datei in der Standardliste der Systemverzeichnis. Wenn Sie den Quellcode kompilieren, können Sie die Optionen vor dem Pre-Verzeichnis der Liste -I.
#include "file"
Diese Form wird verwendet, um die Benutzer-Header-Dateien zu verweisen. Es sucht nach einer Datei mit dem Namen Datei im Verzeichnis der aktuellen Datei enthält. Wenn Sie den Quellcode kompilieren, können Sie die Optionen vor dem Pre-Verzeichnis der Liste -I.
# include - Direktive weist der C - Präprozessor die angegebene Datei als Eingang zu sehen.Ausgabe des Vorprozessors enthält die Ausgabe , die generiert wurde, die referenzierten Textausgabedateien erzeugt und ausgegeben# include - Anweisung.Zum Beispiel, wenn Sie eine Header-Datei header.h haben, wie folgt:
char *test (void);
Und eine Header - Datei des Hauptprogrammsprogramm.cwie folgt mit:
int x; #include "header.h" int main (void) { puts (test ()); }
Der Compiler wird das folgende Token-Stream zu sehen:
int x; char *test (void); int main (void) { puts (test ()); }
Wenn eine Header-Datei zweimal Bezug genommen wird, wird der Compiler den Inhalt der beiden Header-Dateien verarbeiten, die einen Fehler zu generieren. Um dies zu verhindern, ist die gängige Praxis, den gesamten Inhalt der Datei auf die bedingte Kompilierung ende Erklärungen, wie folgt:
#ifndef HEADER_FILE #define HEADER_FILE the entire header file file #endif
Diese Struktur wird allgemein Wrapper#ifndef bezeichnet.Wenn wieder die Header-Datei verweist, ist die Bedingung falsch, weil HEADER_FILE definiert. In diesem Fall wird der Vorprozessor den gesamten Inhalt der Datei überspringen, wird der Compiler ignorieren.
Manchmal müssen Sie einen Verweis auf das Programm aus mehreren verschiedenen Header-Dateien auszuwählen. Zum Beispiel müssen Sie die Konfigurationsparameter auf verschiedenen Betriebssystemen zu spezifizieren. Sie können eine Reihe von Bedingungen verwenden, um dies zu erreichen, wie folgt:
#if SYSTEM_1 # include "system_1.h" #elif SYSTEM_2 # include "system_2.h" #elif SYSTEM_3 de. #endif
wenn die Header-Datei mehr Zeit jedoch zu tun, so sehr ungeeignet ist, verwenden Sie den Namen Präprozessormakros Header zu definieren. Dies isteine dynamische Referenz bezeichnet.Es ist nicht , wie der Name der Header - Datei# include direkten Parameter verwendet, müssen Sie nur ein Makro zu verwenden , um den Namen zu ersetzen:
#define SYSTEM_H "system_1.h" de. #include SYSTEM_H
SYSTEM_H erweitert, der Präprozessor sieht system_1.h, wie sie ursprünglich als#include geschrieben.SYSTEM_H Makefile kann für Sie durch die Option -D definiert werden.