是否可以使用预处理器__file__在C语言中生成#define?

雷扎

为了提高某些代码的美观性,我希望一个.h文件包含一些代码,这些代码根据包含.h文件的文件来设置#define。例如

#if (__file__ == "main.c")
#define MOUDLE MODULE_MAIN
#elif (__file__ == "foo.c")
#define MODULE MODULE_FOO
#endif

有什么办法可以完成这样的事情吗?主要动机是避免在每个文件的顶部放置#define MODULE,而是在一个位置定义映射,并仅包含相同的.h文件。

甲肾上腺素

不,你不能这样做。#if只能做整数表达式。它对字符串或如何比较它们一无所知。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章