首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

分块开发中的头文件有关问题

2012-03-06 
分块开发中的头文件问题常常看到一个c文件,如b.c包含了某个头文件,如a.h.在a.h中,声明了若干函数如next(ar

分块开发中的头文件问题
常常看到一个c文件,如b.c包含了某个头文件,如a.h.
在a.h中,声明了若干函数如next(arg),但是没有函数具体实现.
当在a.c中include   a.h后,也可以正常使用函数next(arg).不大
明白其中的原理,请达人相告   :

a.h:(只做了声明,没有具体实现)
////////////////////////begin
void   record(some   args);
int     next(some   args);
/////////////////////end


a.h中的函数仅仅是一个用户界面,其具体实现完全
在别的.c文件中实现的,例如可能是a.c:
//////////////////////
void   record(some   args)
{
    some   code;
}

int   next(some   args)
{
    some   code;
}

不知道我有没有说明白,呵呵,谢谢指教~~~



[解决办法]
编译的时候只需要知道这个名字是个函数就可以了。 然后会在这个位置留个占位符, 并把函数名字放到 obj 中。 连接器扫描所有的 obj 文件中的符号, 把对应的地址添在占位符上。
[解决办法]
正如楼上所述。
头文件的目的,告诉编译器,该函数不在本文件中,要到其他文件去找。C中函数声明隐含为extern。

热点排行