是否可以編寫#define
定義#define
?如何在C中定義一個定義?
例如:
#define FID_STRS(x) #x
#define FID_STRE(x) FID_STRS(x)
#define FID_DECL(n, v) static int FIDN_##n = v;static const char *FIDS_##n = FID_STRE(v)
但是相反:
#define FID_DECL2(n, v) #define FIDN_##n v \
FIDS_##n FID_STRE(v)
FID_DECL
工作正常,但創建兩個靜態變量。是否可以使FID_DECL2
工作並定義兩個定義?
「兩個靜態變量」有什麼不對呢? – 2011-02-28 15:41:26
http://stackoverflow.com/questions/5136471/multi-pass-c-preprocessor – aaz 2011-02-28 15:45:17
@James:兩個靜態變量都很好,除了我想要與我的字符串聯繫的字符串定義: FID_DECL(HELLO,2) printf(「Hello world」FIDS_HELLO) - >「Hello world2」 – 2011-03-04 12:55:50