c-如果两个头文件包含相同的函数会怎样



如果两个头文件包含具有相同声明的相同函数,并且我在c程序中包含了头文件,并且我调用了公共方法,会发生什么?

简单回答:编译器将生成重定义错误。当您请求使用头文件时,您会告诉预处理器在声明的位置添加头文件的代码(#include"(。因此,当包含两个各自包含相同函数声明的头文件时,编译器将看到两个相同的声明并产生错误。关于头文件的教程:https://www.tutorialspoint.com/cprogramming/c_header_files.htm

如果声明相同,则不会发生任何事情。该程序将按预期进行编译和工作。

如果函数的定义包含在标头中,则会发生编译器重新定义错误。

如果声明相同,但实现不同,并且位于不同的文件中,则会发生链接器错误。