有没有办法让C18编译器在编译期间抛出自己的自定义错误信息?
例如,考虑具有两个用户定义设置的情况:
#define SETTING_A 0x80
#define SETTING_B 0x3f
假设这些设置不能 0x00
。当用户将两个设置都设置为0x00
时,有没有办法让编译器抛出错误(或至少是警告)?
答案 0 :(得分:6)
考虑使用#if
和#error
:
#if (SETTING_A == 0) && (SETTING_B == 0)
#error SETTING_A and SETTING_B can't both be 0!
#endif
答案 1 :(得分:1)
我不知道C18支持或不支持,但你应该尝试#error
指令。