Forum: PC-Programmierung C/C++ #include innerhalb eines Macros


von Philip K. (philip_k)


Lesenswert?

Hallo,

ich möchte etwas in der Art machen:
1
#define MACRO \
2
#include "header.h"\
3
...

Leider will mein Compiler das so nicht schlucken. Weiß jemand ob und wie 
das geht?

Gruß

von Dennis S. (eltio)


Lesenswert?

Möchtest du in Abhängigkeit des Makros die Header-Datei inkludieren? 
Dann kannst du das in etwa so machen:
1
#ifdef MAKRO
2
#include "file.h"
3
#endif

Gruß
Dennis

P.S.: Du kannst, wenn es dir darum geht Schreibarbeit zu sparen auch 
eine spezielle Header-Datei machen, die die anderen einbindet.

: Bearbeitet durch User
von Philip K. (philip_k)


Lesenswert?

Dennis S. schrieb:
> Möchtest du in Abhängigkeit des Makros die Header-Datei inkludieren?

Nicht ganz. Ich sollte vielleicht etwas allgemeiner fragen - ist es 
möglich innerhalb eines Macros eine weitere Präcompiler-Anweisung zu 
platzieren?

Also z.B. auch:
1
#define MACRO \
2
#ifdef ABC\
3
...some code...\
4
#endif

von Daniel A. (daniel-a)


Lesenswert?

Philip K. schrieb:
> ist es möglich innerhalb eines Macros eine weitere Präcompiler-Anweisung
> zu platzieren?

Nein. Aber soetwas ist selten nötig. Was genau wilst du tun? (Bitte 
präzisieren, nicht veralgemeinern)

von Philip K. (philip_k)


Lesenswert?

Danke, das Nein reicht mir schon, ich lass mir was anderes einfallen.

von B. S. (bestucki)


Lesenswert?

Philip K. schrieb:
> Also z.B. auch:#define MACRO \
> #ifdef ABC\
> ...some code...\
> #endif

Das macht man normalerweise andersrum:
1
#ifdef ABC
2
#define MACRO irgendwas
3
#else
4
#define MACRO etwas_anderes
5
#endif

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.