请教include
如果有个a.h,内容如下:
int iF;
在b.c和c.c中都#include "a.h "并操作iF
用gcc b.c c.c可以编译链接通过
在编译b.c和c.c的时候会分别产生iF的标示符?那么在链接的时候为什么没有出现重复定义的问题?
按我的理解,每个.h文件都会跟着include它的文件被编译一遍,如果.h中有变量定义(虽然我从来不这么做,只在.h中做声明),那应该会产生重复定义的问题,可是却没有产生。
望高人指点迷津。
[解决办法]
声明而已,没定义
[解决办法]
这就是声明和定义的不同
[解决办法]
不应该啊,你的理解是正确的.
[解决办法]
编译没有问题,连接时候会提示重复定义 ...