Tag: 多重包含物

使用带有#ifdef标头防护的.c文件链接.h文件

我无法链接.h和.c文件,我也阅读了一些关于这个问题的线程,所有这些都有点模糊,但我仍然无法完全掌握它的概念,并且我有很多链接问题, 说我有bc和bh,我将在ac中使用 ,我很困惑是否包括bh ac和bc cuz bc本身需要知道bh中定义的结构,我有一些function,其原型在bh中定义在bc中也使用了bh中的结构,我不知道在bc cuz中的bh,因为我知道bh更像是将使用bc中的函数的ac接口。这里有一个更清晰的例子 bh文件 typedef struct{ int x, y; }myStruct; void funct1(myStruct); void funct2(myStruct); bc文​​件 void funct1(myStruct x) { //do something } void funct2(myStruct y) { //do something } ac文件 #include “bh” int main() { myStruct x; funct1(x); funct2(y); return 0; } 执行cygwin中的命令: gcc bc ac -g 现在令人困惑的部分,我有一个链接错误,其中当bc编译时,它无法检测结构和原型在bh Cuz所有我知道的是bh用于链接bc从交流,但当两个.c编译时似乎那个bc找不到它的结构和原型, 为什么我没有在bc中包含bh? 答 […]