PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : precompiler soll code ausschließen



goeck
01-03-2011, 15:32
Hallo Leute,

ich habe gerade ein wenig gesucht, aber leider nicht den Aha Effekt bekommen können, daher geht die Frage in die Runde.
Ich möchte in C++ Teile meines Codes nur dann durch den GCC jagen, wenn der auch gefordert ist. Konkret möchte ich dem gcc beim Aufruf Argumente mitgeben, auf die er entsprechende Codeteile mit kompilieren soll. Ich habe sowas irgendwann mit OpenMP bzw. MPI schon mal gemacht. Das habe ich jetzt aber nicht in meinem Projekt.

kann mir jemand dazu einen heißen Tipp geben?

Vielen Dank und viele Grüße
Göck

jeebee
01-03-2011, 16:46
#ifdef ABC
// code wenn -DABC an gcc übergeben wird
#else
// code sonst
#endif

goeck
03-03-2011, 12:29
Hey,

aj Danke, das sieht doch fulminant aus. Mit

gcc in.cpp out.exe -DABC
würde ich also den Code, der in dem von dir genannten Codeschnipsel ausführen (also den, im if Teil, versteht sich). Gäbe es auch eine Möglichkeit, wie

gcc in.cpp out.exe -BLUE -RED
und entsprechenden Code, der das wieder abfängt nach der gleichen Verfahrensweise, bspw.

#ifdef RED
// code wenn -RED an gcc übergeben wird
#else
// code sonst
#endif

Das hilft mir auf jeden Fall schon mal sehr weit. Vielen Dank
Grüße
Göck

jeebee
03-03-2011, 13:16
mit RED und BLUE im code funktionierts mit den optionen -DRED und -DBLUE.

Siehe auch z.B. http://www.network-theory.co.uk/docs/gccintro/gccintro_34.html

goeck
03-03-2011, 13:32
OK, kein Weg an den "-D" im gcc Aufruf vorbei. Passt.

Vielen Dank nochmal
Grüße
Göck