【发布时间】:2026-02-23 23:05:02
【问题描述】:
我正在开发一些代码,以便在 MS Visual C 2010 编译器和嵌入式 ARM 编译器上编译。此外,我想在编译时打印一些警告,以提醒我有一些测试代码。不幸的是,MS 使用 #pragma 而不是 #warning 来发送消息,所以我不能只在两个编译器中使用相同的预处理器指令。
我可以在任何地方这样做:
#ifdef _MSC_VER
#pragma message("Something to say....")
#else
#warning "Something to say...."
#endif
但最好有一个宏来封装它,例如:
#define ccWarnMessage(m) \
#ifdef _MSC_VER \
#pragma message(m) \
#else \
#warning m \
#endif
这不起作用,但有没有办法以一种简洁的方式做到这一点?
【问题讨论】: