在我的C程序中,有许多文件包含一个文件,说“file1.h
”来检查宏的值,如果该值不是预期的,则断言错误。例如:
file1.h
#if defined MACRO_1
.....
#elif defined MACRO_2
.....
#else
#error "NOT AVAILABLE"
#endif
file2.c中
#define MACRO_1
#include "file1.h"
...
.....
...
file3.c中
#define MACRO_3
#include "file1.h"
...
.....
...
在这种情况下,编译中的file3.c
将产生错误取决于file1.h
实现
是否可以使用来自file1.c
的错误消息打印哪一行和文件产生了该错误?
注意:只有更改可以在file1.h
;不允许更改任何其他文件的任何代码。