gefunden Wie kann ich Verzeichnis in preprecessor Befehl ifndef#ifndef DIRECTORY Header nicht
Beispiel
#ifndef DIR/HEADERFILE_H
#include "dir/headerfile.h"
#endif
gefunden Wie kann ich Verzeichnis in preprecessor Befehl ifndef#ifndef DIRECTORY Header nicht
Beispiel
#ifndef DIR/HEADERFILE_H
#include "dir/headerfile.h"
#endif
Zur Beantwortung der Frage specicif, Sie können kein Verzeichnis in einem Präprozessoranweisung wie #ifndef
verwenden: Sie können Ihre eigene Konstante ersetzt /
mit _
definieren.
Die gehören Wachen in der Header-Datei oft die Form
#ifndef DIRECTORY_HEADERFILE_INCLUDED
#define DIRECTORY_HEADERFILE_INCLUDED
//.... contents
#endif
die Header enthalten, dann einfache Verwendung
#include "dir/headerfile.h"
vor langer Zeit einige Leute suugested ein Doppelposten umfassen, oder Redundant enthalten Schutz, wobei Sie vor der #include
Linie überprüft, um Dinge zu beschleunigen, wie in dieser question erwähnt. Die c2 wiki hat einige weitere Informationen.
"Good Compiler macht dieses Idiom nicht notwendig."
In jedem Fall ist die tendacny statt /
zu verwenden _
ist, ein gültiges Makro zu bilden.
Wie in this question erklärt, nur alphanumerische Zeichen und Unterstrichen (a-z
, A-Z
, 0-9
und _
) sind für Makro- und Konstantennamen zulässig.
#ifndef DIR_HEADERFILE_H
Verwenden Sie ein Zeichen, das der Präprozessor zulässt? '#ifndef DIR_HEADERFILE_H' –
Was möchten Sie erreichen? Der Präprozessor versteht Text - keine Verzeichnisstrukturen? Sobald eine Datei '# included' ist, hat sie nicht den Dateinamen/Verzeichnis #defined. – doctorlove
ES IST SEHR INTERESSANT, WARUM ICH -2 ERHALTE? Einige Kommentare zuerst? –