Hi all,
ich habe ein "kleines" Problem mit der Definition von Compiler Konstanten in VS 2005.
Ich möchte ein Teil des Codes nur benutzen, wenn eine Konstante definiert ist.
Also:
#if MY_CONSTANT
tu etwas
#else
#endif
Sollte eigentlich einfach sein:
Projekt/Properties/Build/Conditional compilation symbols:
Dort eintragen: "/define:MY_CONSTANT"
Geht aber nicht.
Kennt jemand eine Lösung?
Detlef
Mit
#define MY_CONSTANT
bzw.
#undef MY_CONSTANT
im Quelltext sollte es funktionieren.
Hi bonnet,
das geht natürlich, aber:
es gibt ja nun keine Headerfiles mehr, sodass solche Änderungen nicht einfach in anderen Dateien benutzt werden können.
Das Ziel sollte sein, durch eine einfache Änderung in der Configuration ( nicht nur Debug/ Release, sondern zusätzliches Projekt "MitMessung") die Ausgabe zu beeinflußen.
Detlef
Hi Detlef
sollte auch funktionieren, allerdings brauchst Du nur den Namen der Variablen im Feld eingeben (ohne /define)
mfG Thomas
Hi Thomas,
es geht!
Ich dachte aber, ich hätte es auch so ausprobiert. Manchmal spielt einem das Gedächnis einen Streich...
Detlef
Wenn es darum geht, grundsätzlich eine ganze Funktion rauszudrehen (global, also unabhängig vom Aufruf) dann sei auf das Conditional-Attribut verwiesen. Ist aber nur für Methoden erlaubt, die void zurückliefern. Vorteil ist, dass auch dieser Code vom Compiler gecheckt wird, selbst wenn er nicht genutzt wird.
Hi svenson,
habe ich jetzt auch gelesen.
Ein Feature, was ich dann vielleicht in der Zukunft benutzen werde.
Der Mensch ist doch ein Gewohnheitstier, und da kennt man eben nur #ifdef von C++.
Danke
Detlef
Ehrlich gesagt: Ich denke, man hat das nur, weil man sonst - mangels Makros - hätte Assert() und Debug() nicht implementieren können. Es mag charmant sein, das ifdef nicht auf der Seite des Aufrufers machen zu müssen, aber die Beschränkung auf void und die Tatsache, dass es nur global geht, beschränkt den Einsatz doch auf einige wenige Fälle.
Original von deti61
Der Mensch ist doch ein Gewohnheitstier, und da kennt man eben nur #ifdef von C++.
Hauptsache du kommst nicht auf die Idee und willst in C# Macros benutzen gG
Baka wa shinanakya naoranai.
Mein XING Profil.