Forum: Compiler & IDEs Dateien einbinden mit include


von André R. (andr_r23)


Lesenswert?

Wo genau ist der Unterschied zwischen :

#include "UART.H"

UND

#include <UART.H>

Gibt es da überhaupt einen Unterschied. Wenn es keinen für das Programm 
relevante Gründe gibt, warum benutzt man beide verschiedenen Methoden 
Dateien einzubinden?

Danke

von Knut (Gast)


Lesenswert?

#include <UART.H>
Datei befindet sich im AVR Studio Verzeichnis.


#include "UART.H"
Datei befindet sich im Projektverzeichnis



Knut

von Dirk K. (knobikocher)


Lesenswert?

Wenn ich mich recht erinnere liegt der Unterschied im Ordner, indem die 
Include-Datei liegt.

"UART.H" sagt dem Compiler, die Datei liegt im selben Ordner wie das 
Projekt,
<UART.H> sagt ihm, es liegt im Include-Ordner des Programms.

Oder auch anders herum, weiß nimmer genau...

von JO (Gast)


Lesenswert?

Hallo,

#include " UART.H " Aufruf für Header-Dateien im Projektverzeichnis.

#include < UART.H > Aufruf für Header-Dateien im Bibliotheksverzeichnis.

so hatten wir es an der Uni gelernt???

Gruß JO

von Andreas B. (andreas_b77)


Lesenswert?

Die Form mit den spitzen Klammern sucht die Datei in den Verzeichnissen, 
die per Compiler-Option zum Suchpfad hinzugefügt wurde (bei GNU ist das 
-I) und dann in den Standard-Verzeichnissen.

Die Form mit Anführungszeichen sucht die Datei zuerst im Verzeichnis der 
Datei in der das #include steht, dann weiter wie bei spitzen Klammern.

von Albert .. (albert-k)


Lesenswert?

Natürlich gibt es einen Unterschied, sonst würde es die beiden Varianten 
ja nicht geben.

1. Variante
<Uart.h> sucht in den Ordner die dem linker angegeben werden.

2. Variante:
"Uart.h" eine vom Programmierer bereitgestellte Header Datei. Dabei wird 
im aktuellen Verzeichnis gesucht, bzw. in unterverzeichnissen wenn du es 
wie folgt angibst "meineHeader/Uart.h". Wenn So nicht gefunden wird wie 
bei Variante 1 gesucht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Albert ... schrieb:
> <Uart.h> sucht in den Ordner die dem linker angegeben werden.

Nicht dem Linker. Der hat damit gar nichts zu tun.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.