Include Dateien doppelt angeben?!

#2186601
Lesenswert?
• ▲
▼
Weil find.c unabhängig von main.c compiliert wird.

Wenn find.c compiliert wird, weiß der Compiler nichts von dem was in 
main.c steht. Interessiert ihn auch nicht.
Wenn main.c compiliert wird, weiß der Compiler nichts davon, was in 
find.c steht. Interessiert ihn auch nicht.

Jedes *.c File wird für sich, und nur für sich alleine compiliert.
Gast #2186614
Lesenswert?
• ▲
▼
PEte schrieb:
> Gibt es eine Art extern Include? Ich muss Platz sparen :) Ich kann nicht
> jedes Include fünfmal in mein Programm aufnehmen.

du kannst sie auch 100mal reinschreiben, include dateien verbrauchen 
meist keinen Platz compilat. Damit sparst du also nichts.
Gast #2186617
Lesenswert?
• ▲
▼
PEte schrieb:
> Gibt es eine Art extern Include? Ich muss Platz sparen :) Ich kann nicht
> jedes Include fünfmal in mein Programm aufnehmen.

Das vergiss mal ganz schnell wieder ;-)

Ein Include braucht kein Platz, da in ihm keinerlei Definitionen (=das 
was Speicher belegt) drin stehen. Alles was Speicher belegt (=die 
implementierung von Funktionen, Variablen ) steht nur in der C-Datei und 
die wird nur einmal kompiliert.
Persönliche Seite #2186774
Lesenswert?
• ▲
▼
Karl Heinz Buchegger schrieb:
> Weil find.c unabhängig von main.c compiliert wird.
> ...
> Jedes *.c File wird für sich, und nur für sich alleine compiliert.

Selbst wenn man sie zusammen compilert, hilft das auch nix. Man kann dem 
Compiler nämlich auch mehrere Qulldateien mitgeben. Hilft aber -- wie 
gesagt -- nix.

Die Begründung ist, daß eine Deklaration (bzw. Definition) vor der 
Verwendung stehen muss. Und main.c ist eine andere Datei als foo.c. Wie 
das Zeug dem Compiler übermittelt wird, hat zur C-Semantik nix zu tun. 
(Wohl aber, wie effizient der Compiler den Code mit dem Zusatzwissen 
übersetzen kann.)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.