Was ist die Verwendung des Verzeichnisses / usr / include?

12

Ich bin sehr neu in Ubuntu. Ich schaue auf das Verzeichnis /usr/include, das viele Header-Dateien enthält. Ich weiß, dass sie bestimmte Konstanten und andere Informationen angegeben haben, die in Ubuntu verwendet werden. Ich bin verwirrt mit der Verwendung.

Eines der darin enthaltenen Verzeichnisse ist linux/byteorder. Welches hat zwei Dateien:

big_endian.h  little_endian.h

Ich frage mich, warum zwei Dateien benötigt werden? Meine Maschine wird entweder Big Endian oder Little Endian sein, oder? Hat Ubuntu während der Installation nicht meine Systembyte-Reihenfolge ausgewählt? Ist /usr/includedas für alle Maschinen gleich? Was ist die genaue Verwendung davon?

Danke im Voraus.

Batman
quelle

Antworten:

16

Dieser Ordner enthält die Header-Dateien für C-Compiler. Wie "stdio.h", "stdlib.h" usw.

Wenn Sie Header-Informationen in die C-Quelldatei #include <stdio.h>eingeben, sucht der Compiler /usr/includestandardmäßig nach der Datei im Verzeichnis.

big_endian.hund little_endina.hDateien sind enthalten, da Ihr Computer zwar nur von einer Art ist, Sie jedoch Anwendungen für beide Architekturen entwickeln können. Sie benötigen also beide Header-Dateien.

Anwar
quelle
Ihr dritter Link muss übersetzt werden und wird dann als defekt gemeldet.
WinEunuuchs2Unix
@ WinEunuuchs2Unix natürlich war das vorher nicht so. Muss sich geändert haben. Ich werde es entfernen. Die ältere Seite kann über den Cache hier abgerufen werden web.archive.org/web/20100511072431/http://bid.ankara.edu.tr/…
Anwar
2

Diese Dateien werden beim Kompilieren von Programmen benötigt, sei es ein Softwarepaket, das Sie manuell kompilieren müssen, oder Ihre eigenen Programme. Sie sind im C-Code enthalten, sodass Sie die dort definierten Funktionen verwenden können. Mach dir keine Sorgen um sie, wenn du nicht codierst.

Januar
quelle
1

Ja, aber Sie können sich entscheiden, eine plattformübergreifende App zu entwickeln.

Und wenn Sie ein Programm für die andere Maschine schreiben, das sich von Ihrem Endian unterscheidet. Dann können diese Dateien verwendet werden, um solche Programme zu kompilieren. :) :)

Sam
quelle