Include Guard wie benutzen?
-
Hi,
mal so ne Frage: Wie sehen eure Includeguards aus? Also die Bezeichner
#define __file_h__
#define file_h
#define _FILE_H_
oder anders?!Wie ist das mit #pragma once? Futtern das nun endlich auch GCC Compiler?!
-
#define _FILE_H_ ist denke ich üblich, aber vorwiegend Stilfrage.
-
Ich bin eher für "#define FILE_H" (Namen mit _ am Anfang sind für den Compiler reserviert)
("#pragma once" ist auch nett, beherrscht leider nicht jeder Compiler)
-
CStoll schrieb:
Ich bin eher für "#define FILE_H" (Namen mit _ am Anfang sind für den Compiler reserviert)
("#pragma once" ist auch nett, beherrscht leider nicht jeder Compiler)
Vor allen Dingen ist "#pragma once" kein Standard.
Include-guards per #ifdef/#define funktionieren doch. Warum sollte man so eine propriätäre Erweiterung im gcc implementieren?
Tntnet
-
Um Namenskonflikte zu verhindern kannst du den Namen
der Headerdatei hinter '#define' auch doppelt schreiben:[cpp]#ifndef header_h #define header_h header_h // Quellcode #endif[/cpp]Häufig hat der Name der Datei nämlich mit dem Inhalt zu tun (
), was bei mehrmaliger Namensdefinition dann zu unerwünschtem Verhalten führt.
Mit Doppelstrich würde ich keinen Namen beginnen, da diese wohl systemintern verwendet werden.Bobby - Karle