从一个 c 文件写入一个 h 文件,然后写入 C 中的另一个 h 文件

Write from a c-file to a h-file and then to another h-file in C

我有一个头文件,我可以在其中使用以下#define DEF_LOGGING_PRINT 激活日志记录,如果我评论 //#define DEF_LOGGING_PRINT 则日志记录被停用。我在头文件中添加了以下内容:

#define activated 1

#define deactivated 2
 
#define act_or_dea_log_(x)

#if x == activated

#define DEF_LOGGING_PRINT

#elif x == deactivated

#define DEF_LOGGING_PRINT
#endif

是否可以从另一个头文件写入这个 x,像这样:

#define act_or_dea_log(x) act_or_dea_log_(x)

然后最后从 c 文件执行“act_or_dea_log("activated");”选择 激活日志记录,即替代#if x == activated?

尝试了很多选项,但似乎没有任何效果。

好吧,如果我正确地解释了你写的内容,不,因为它们是预处理器的意思是一切都在任何代码运行之前完成意味着编译时 我建议你使用程序的起始参数 Gengetopt 是轻松实施的好方法

https://www.gnu.org/software/gengetopt/gengetopt.html