我想实现一个“声明”来防止编译,而不是在错误情况下在运行时失败。
我目前有一个这样的定义,效果很好,但是会增加二进制文件的大小。
#define MY_COMPILER_ASSERT(EXPRESSION) switch (0) {case 0: case (EXPRESSION):;}
示例代码(无法编译)。
#define DEFINE_A 1
#define DEFINE_B 1
MY_COMPILER_ASSERT(DEFINE_A == DEFINE_B);
我该如何实现它,使其不生成任何代码(以最小化生成的二进制文件的大小)?
犯罪嫌疑人X
胡子哥哥
慕村9548890
相关分类