假设我有两个头文件和实现文件,A 和 B。
B:
#include "B.h"
void funcFromB(); //prototype
...
void funcFromB()
{
...
}
一个:
#include "B.h"
void funcFromB(); //prototype
...
funcFromB(); //will this work correctly?
如果函数未在 B (B.h) 的 header 中定义,从 A 调用 funcFromB() 能否正常工作?
最佳答案
是的,如果 B.o 链接到 A,该函数将正常工作。.h 文件和 .c 文件在本质上彼此没有任何关系。为了清楚起见,他们应该这样做,但没有任何强制他们这样做。根本不需要 .h 文件,但编码人员发现它们对于组织信息和避免重复自己很有用。
关于在 header 中没有声明的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981944/