c - C语言中如何检查头文件的有效性

标签 c file header

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/

相关文章:

c - 意外的循环运行时间

c - 我的 C 程序出现问题 : compilation error occurs

java - 创建文件而不根据用户输入创建新文件夹[困惑]

javascript - 滚动后固定辅助导航栏

c++ - 将包含的平台 header 的范围限制为仅包含它的 header 文件?

html - 标题与我的滚动条 HTML/CSS 重叠

c - 需要帮助理解 C 结构

c - 如何解决c中的超时错误?

eclipse : Ignore warnings for a certain type of file but keep color syntaxing

c - 在 XCode 4.5.2 中的 C 项目上使用静态库