c - 是否可以重新定义#warning?

标签 c

我们使用#warning来显示编译消息,如下所示:

#warning Are you sure it is correct?

可以重新定义#warning,并可以选择启用或禁用它,如下所示:

#ifdef ACTIVE_MY_WARNING
#define #my_warning #warning
#else
#define #my_warning 
#endif

我们可以用 C 语言来做吗?

最佳答案

不,无法重新定义预处理器关键字(#if#define#ifdef 等)。

最好的办法是拥有一个解析器,可以将代码替换为:

#ifdef ACTIVE_MY_WARNING
#warning Are you sure it is correct?
#endif

关于c - 是否可以重新定义#warning?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335221/

相关文章:

c - 我的代码不打印名为 coin 的变量

c - RFC 1071 - 在 C 中计算 IP header 校验和混淆

c - select 未指示 pthread_create 启动的函数中数据到达

c - 结构体数组和指针算术

C、概括函数参数的类型

c - 在 C 中使用 malloc 进行内存分配

c - fork() - 让父进程工作而不等待子进程

c - C中的指针递增

c - 为什么 sizeof 函数会为同一个数组返回不同的值?

c - 这段代码是否违反了严格的别名规则?