Was ist der Unterschied zwischen <stdio.h> und "stdio.h" in C?


Antwort 1:

Wenn Sie die Header-Datei in "" einschließen, prüft der Compiler sie zuerst in dem aktuellen Verzeichnis, in dem der Befehl ausgegeben wird, und dann in den vordefinierten Standard-Header-Verzeichnissen. Unter Linux befinden sich beispielsweise alle Header-Dateien in / usr / include (Standardverzeichnis).

Wenn Sie die Datei in <> einschließen, wird in Standardverzeichnissen gesucht, in denen sich normalerweise die Header-Dateien befinden.

Grundsätzlich besteht ein Softwarepaket, das hochmodular geschrieben wird, offensichtlich aus einigen lokalen Header-Dateien. Und es gibt einige Methoden, mit denen Sie den Compiler angeben oder anweisen können, dass Ihr benutzerdefiniertes Verzeichnis wie ein Standard-Header-Verzeichnis mit CFLAGS behandelt wird.

HTH :)


Antwort 2:

In beiden Fällen besagt der Standard nur, dass der Compiler nach der Datei sucht, die "in einer implementierungsdefinierten Weise" enthalten sein soll. Wenn die für "" definierte Suchmethode fehlschlägt, wird die Suche mit der definierten Methode wiederholt für <>.

In der Praxis besteht die häufigste Implementierung darin, dass <> nur die für den Compiler definierten Standard-Header-Verzeichnisse durchsucht, während „“ in dem Verzeichnis sucht, in dem sich die Quelldatei befindet, und dann den Standardpfad durchsucht, wenn die Datei dort nicht gefunden wird .


Antwort 3:

Wenn Sie verwenden, wird die Bibliothek über einen vordefinierten Verzeichnissatz durchsucht, d. H. C \ TC \ Bin \ TC

Wenn Sie "stdio.h" verwenden, wird die Bibliothek aus dem aktuellen Verzeichnis durchsucht, d. H. Aus dem TC

Oder wir können sagen, dass für eingebaute Header-Dateien (d. H. Stdio.h) und „stdio.h“ für benutzerdefinierte Header-Dateien bevorzugt werden.


Antwort 4:

Wenn Sie verwenden, wird die Bibliothek über einen vordefinierten Verzeichnissatz durchsucht, d. H. C \ TC \ Bin \ TC

Wenn Sie "stdio.h" verwenden, wird die Bibliothek aus dem aktuellen Verzeichnis durchsucht, d. H. Aus dem TC

Oder wir können sagen, dass für eingebaute Header-Dateien (d. H. Stdio.h) und „stdio.h“ für benutzerdefinierte Header-Dateien bevorzugt werden.


Antwort 5:

Wenn Sie verwenden, wird die Bibliothek über einen vordefinierten Verzeichnissatz durchsucht, d. H. C \ TC \ Bin \ TC

Wenn Sie "stdio.h" verwenden, wird die Bibliothek aus dem aktuellen Verzeichnis durchsucht, d. H. Aus dem TC

Oder wir können sagen, dass für eingebaute Header-Dateien (d. H. Stdio.h) und „stdio.h“ für benutzerdefinierte Header-Dateien bevorzugt werden.