考虑以下代码:
int function()
{
int a = 1 ;
int b = helper(&a);
return b ;
}
int main()
{
function();
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
尽管事实上尚未声明名为"helper"的函数,但此代码段使用gcc编译成目标代码而没有问题.我知道链接器应该捕获这个,但是我已经看到了一旦包含正确的头文件(包含函数声明)而解决的模糊错误,尽管链接器和编译器没有生成任何错误.
有许多gcc警告似乎是相关的,但实际上并没有实现我想要的:-Wmissing-prototypes,-Wmissing-declarations和-Wstrict-prototypes.不幸的是,当定义全局函数时,这些警告仅限于缺少原型,我对引用全局函数时缺少原型的警告感兴趣.
任何人都可以建议替代品吗?谢谢.