c代码:如何检测重复的函数声明

makefile中是否有FLAG设置来检测重复的函数声明?

找到头文件中的重复函数声明,但即使FLAG设置为“警告为错误”,编译器也不报告它.

这会带来任何隐含的问题吗?

最佳答案 您正在尝试解决不存在的问题.重复的函数声明通常没有问题,因此编译器没有理由对它们进行诊断.

C编译器通常会在同一编译单元中诊断情况,其中函数以多种方式声明(例如,具有不同返回类型或参数类型的相同函数的两个声明).

重复的函数定义(一种特定类型的函数声明 – 实现函数)是一个问题.实际上,当编译单元中出现函数的多个定义时,编译器将发出警告或错误.链接器还将报告在多个编译单元中定义函数的情况 – 例外是内联函数或静态函数(其编译单元的本地函数).

点赞