gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 05:48:52 24 4
gpt4 key购买 nike

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

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

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

最佳答案

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

关于c - 是否可以使用预处理器 __file__ 在 C 中生成 #define?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49927593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com