www.mikrocontroller.net

Forum: Compiler & IDEs #define Reihenfolge


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe in meinem Projekt mehrere .h Dateien, in denen hin und wieder 
per #define was definiert wird, was auch für andere .h Dateien wichtig 
ist. Nun hab ich das Problem, dass wohl das #define in einer Datei zu 
spät vom Compiler ausgewertet wird, sodass es nicht mehr für die andere 
.h. Datei verwendet wird. Kann ich die Reihenfolgt, in dem die .h 
Dateien ausgewertet werden irgendwie beeinflussen?

Gruß

Manuel

Autor: sch_michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zuerst einmal muss man verstanden haben, was mit den #include eigentlich 
passiert. Beim #include wird der Inhalt der h-Datei in der c-Datei an 
die Stelle des #includes gesetzt. Somit ist die Reihenfolge der 
h-Dateien dafür verantwortlich, wie die #defines sich in der c-Datei 
befinden.

Gruß sch_michael

Autor: 123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ganze einfach:

#include "1.h"
#include "2.h"
#include "3.h"
...

Reihenfolge:
1
2
3
...

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du in einem header-file #defines verwendest, die in einem anderen 
header-file definiert sind, kannst du auch das zweite header-file am 
Anfang des ersten includieren. Dann ist die Reihenfolge im .c-File 
wieder egal.

Oliver

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.