c - 从 c 文件写入 h 文件,然后在 C 中写入另一个 h 文件
问题描述
我有一个头文件,我可以在其中使用以下#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 == 已激活?
尝试了很多选择,但似乎没有任何效果。
解决方案
好吧,如果我正确解释了您编写的内容,则不,因为它们是预处理器的意思,所有代码运行之前都已完成,这意味着编译时我建议您使用程序的起始参数 Gengetopt 是一种轻松实现的好方法
推荐阅读
- php - 使用 CodeIgniter 检查字段值是否唯一
- linux - rm文件中的一个奇怪错误
- javascript - 在Javascript中仅验证数组中的字母字符、单引号/双引号、空格和逗号
- c++ - 命中 CPU 缓存以获得更好的 C++ 性能
- javascript - Material-UI:测试期间无法触发 onChangeCommitted 事件
- curl - 无法使用 curl 和 build.xml 中的目标上传文件
- shell - netcat 返回命令的结果(连接发生时运行)
- git - 将 GIT 配置为 Jenkins Slave 而不是 Jenkins Master
- laravel - 如何读取模型的受保护 id 字段?
- elasticsearch - 弹性搜索 - 滚动行为