new style header



  • hi!

    zu meiner frage:

    new style header werden ja gewöhnlich ohne dem .h am schluss eingefügt.
    so stellt sich mir die frage, ob man sie nur anders einfügt, oder ob diese neuen headerdateien tatsächlich eine andere endung haben.

    Schonmal danke für etwaige antworten!
    fry



  • Meines wissens nach ist das weglassens des ".h" bei Headerdateien nur eine neue c++ norm und hat nichts damit zu tun was für eine headerdatei eingebunden wird.

    Also die endung der Headerdateien ist immer noch *.h



  • Hi,

    Du kannst ja mal bei Deinem Compiler im Includes-Verzeichnis nachschauen. Dort findest Du dann die Dateien ohne .h am Schluß. Das muß so sein, da #include ja nur den Inhalt einer Datei einfügt. Ich hab auch schon mal so was gesehen.

    int liste[] = { #include "werte.txt" };
    

    grüße Con@n



  • Con@n schrieb:

    Ich hab auch schon mal so was gesehen.

    int liste[] = { #include "werte.txt" };
    

    <nitpick 😉 >
    Das wär ein Syntaxfehler. Eine Preprozessor-Anweisung muss am Anfang der Zeile stehen, oder nur durch Whitespace (inkl. Kommentare) vom Anfang der Zeile getrennt sein.
    </nitpick>



  • Wie gesagt nur gesehen, und nie selbst verwendet:
    Dann so besser

    int liste[] = { 
                    #include "werte.txt" 
                  };
    

    grüße Con@n



  • Con@n schrieb:

    Das muß so sein, da #include ja nur den Inhalt einer Datei einfügt.

    Nicht zwangsläufig... AFAIK darf ein Compiler auch die Standardheader erkennen und die entsprechenden Namen so verfügbar machen, es ist nicht vorgeschrieben, daß dazu eine Datei eingebunden wird. Aber ich glaub es gibt keinen Compiler der das macht. 😉



  • Jester schrieb:

    Aber ich glaub es gibt keinen Compiler der das macht. 😉

    IIRC kann VisualAge C++ das 🙂



  • DOS-Compiler wie DJGPP können logischerweise z.B. bei #include <algorithm> keine gleichnamige Headerdatei einbinden. Ich weiß nicht, wie genau das funktioniert, aber entweder der Name wird auf 8 Buchstaben gekürzt und um .h erweitert, oder es gibt irgendwo eine Umsetzungstabelle { "algorithm" -> "algorith.h", ... }. Müsste man mal testen, indem man versucht <algorithx> oder so einzubinden ... vielleicht hat ja wer nen djgpp zur Hand und grad Bock.


Anmelden zum Antworten