C 编程语言中是否有一种方法可以检查头文件中的函数原型(prototype)是否与编译时的实际函数定义相对应。 例如,如果我制作了头文件,然后更改该头文件中描述的某些函数的签名,如果头文件中存在错误的原型(prototype),我可以在编译时检查吗?这是编译器或编译前其他工具的工作吗? 谢谢。
最佳答案
如果您使用两个不同的原型(prototype)声明相同的函数名,编译器应该捕获它,即:
int foo(int a, int b);
...
int foo(int a, float b) { ... }
当然,如果你真的重命名了函数,那么编译器就无法捕获它,即:
int foo(int a, int b);
...
int fee(int a, int b) { ... }
当然,除非您尝试从其他地方调用foo
。然后链接器就会提示。
关于c - C语言中如何检查头文件的有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148285/