如果我希望gcc编译器在我包含stdlib.h
或特定标头时抛出错误,我应该使用哪些标志?我不想使用-nostdlib
标志,因为它没有链接任何标准库。
答案 0 :(得分:3)
对于每个头文件都有一个包含保护,所以我猜你可以尝试像这样检查它
#ifdef _STDLIB_H
#error "You should not include stdlib.h"
#endif
然后您可以将其应用于其他标头。当然,这只适用于特定的c
标准库,在这种情况下,我从glibc中的stdlib.h
获取了包含警示。如果您在检查后包含stdlib.h
,它将无效。
此外,头文件不是库,它包含来自库的定义和函数原型,如果您不希望程序链接到标准库,则除了gcc -nostdlib
之外没有其他选项AFAIK