替代标题(以帮助搜索)
- 将预处理程序标记转换为字符串
- 如何从C宏的值创建一个char字符串?
我想在编译时使用C #define来构建文字字符串.
该字符串是为调试,发布等而更改的域.
我想要一些这样的事情:
#ifdef __TESTING
#define IV_DOMAIN domain.org //in house testing
#elif __LIVE_TESTING
#define IV_DOMAIN test.domain.com //live testing servers
#else
#define IV_DOMAIN domain.com //production
#endif
// Sub-Domain
#define IV_SECURE "secure.IV_DOMAIN" //secure.domain.org etc
#define IV_MOBILE "m.IV_DOMAIN"
Run Code Online (Sandbox Code Playgroud)
但预处理器不评估""内的任何内容
我想要做的是#define宏:
#define a(2)
Run Code Online (Sandbox Code Playgroud)
然后在字符串文字中使用它:string = "a";.
我希望该字符串不被解释为字符串,而是获取值a,即2.我没有成功,任何人都可以帮忙吗?