Präprozessor Anweisung

Gast #643131
Lesenswert?
• ▲
▼
Morgen,

ich würde gerne im Programmcode festlegen dürfen, ob ein bestimmter 
Bereich überhaupt kompiliert wird. Also z.B.
1
for ( ... )
2
 {
3
  Muh;
4
  }
5
if ( ... )
6
 {
7
  Mäh;
8
  }


Nun soll per Präprozessor-Anweisung ganz oben festgelegt werden können, 
ob die for-Schleife beim Compilieren durchgeführt wird oder nicht. Das 
if soll dagegen immer normal ausgeführt werden.

Kann man das machen?
Gast #644195
Lesenswert?
• ▲
▼
alles klar.

kann ich das auch irgendwie idiotensicherer schreiben.. etwa so:
1
#define EIN 1
2
#define AUS 0
3

4

5
#define ENABLE_FOR EIN
6

7

8
#if (ENABLE_FOR == EIN)
9
for ( ... )
10
 {
11
  Muh;
12
  }
13
#endif


?
#645766
Lesenswert?
• ▲
▼
Michael G. wrote:
> Der zweite Vorschlag generiert unerreichbaren Code - keine gute Idee...
> wuerde es so wie beim ersten Vorschlag machen.

Das hängt vom Optimierer ab, der schmeißt unnerreichbaren Code nämlich 
raus.

Bei C++ - Templates, denen per Template-Parameter Generierungsschalter 
übergeben werden, basieren sogar ausschließlich auf diesem Prinzip.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren