Mailinglist Archive: opensuse-programming-de (13 mails)

< Previous Next >
Re: [opensuse-programming-de] Preprocessor: Einbinden von Header Dateien
  • From: Andre Heine <linux-experience@xxxxxxx>
  • Date: Tue, 18 Nov 2008 10:48:13 +0100
  • Message-id: <200811181048.13739.linux-experience@xxxxxxx>
Hallo Thomas,

ich spare mir jeglich Angriffe und entschuldige mich für jeden!

Eigentlich sehe ich nur kein wirkliches Problem...

Am Dienstag, 18. November 2008 10:19 schrieb Thomas Hertweck:
Andre Heine wrote:

[...]

_SECOND_H existiert ja schon....

Um das geht's doch gar nicht, Du hast das Problem schlicht nicht
verstanden.

Irgendwie geht es aber doch darum.

Man fragt sich, welcher Header zuerst eingebunden wird.

Was willst Du denn?

Aus Deinem ersten Posting entsteht doch die Frage nach der "Sortierung" der
includes...

Welcher Header wird denn eingebunden?
Warum? Warum nicht?

Und wie lassen sich beide gleichzeitig einbinden?

Warum möchte man das?

Es geht nicht um ein Problem, dass ein Header zwei Mal
eingebunden wird -

Das habe ich auch nicht so gemeint...

Es geht darum, dass Du ein "Header" lokal duplizieren möchtest
um eventuell Funktionalität in einem Modul zu überschreiben.
(Der Rest soll alle so wie gehabt benutzen????)

Und das "gewollt", so steht es jedenfalls in Deinem ersten Posting!

Es ist nunmal kein wirklicher Normalfall. Es kommt nicht nur darauf an,
welcher Header zuerst eingelesen wird, sondern auch an welcher stelle
das include in der jeweiligen Datei steht. (Cross,doppelte, etc pp)

Darum ist es ein Unterschied, ob nun zuerst "second.h" und anschliessend
"first.h" eingebunden werden muss. Das hängt nunmal auch mit den Include
Guards zusammen...

Darauf wollte ich hinweisen, das ist ein Problem mit der Organisation
des Buildsystemes...

Der Teufel steckt nunmal im Detail...

IMHO...


um das zu verhindern sind naemlich Include-Guards
da.

"Include Guards" spielen hier aber eine entscheidene Rolle...

Es geht schlicht darum, welches File second.h eingebunden wird,
und ob der Compiler die Datei einbindet, die man als User erwarten
wuerde. Ich sage nein,

Ich sage "ja", alles funktioniert bestens mit der include Reihenfolge...

Würden die Guards fehlen, gibt es ja wiederum eine Fehlermeldung wg.
doppelt definierter Makros.

Es hängt irgendwie alles zusammen;)

andere sagen nein, manche sagen eventuell,
nur ganz wenige sagen ja, der Praeprozessor macht genau das, was man
erwarten wuerde. Go figure!

[...]
So so... Programmieranfaenger?!

Da spricht der Doktor :-\

Deine Angriffe spare Dir bitte. Verstehe erst einmal das Problem,
dann kannst Du vielleicht mitdiskutieren.

S.o. Bitte entschuldige...

Verstehe Du aber auch, das es nicht nur mit der Reihenfolge getan ist und
Dein erstes Posting so einiges offen lässt...

Man kommt damit nämlich sehr leicht von einem zum anderem...


Friede!

Andre
--
To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-programming-de+help@xxxxxxxxxxxx

< Previous Next >
List Navigation