读书人

施用头文件来链接多个c源文件

发布时间: 2012-10-24 14:15:58 作者: rapoo

使用头文件来链接多个c源文件

在目前的设计中,

我写了2个c源文件,a.c和b.c,我需要把b.c中的函数让a能够调用,

其实我也可以把b.c的函数内容全部copy到a.c里,可是这样显得a.c太臃肿。

?

首先需要定义一个头文件,写上b.c文件里的函数原型:

比如说这样定义 " b.h" :

externchar *getAliasVal(int num);externchar *getNodeName(int num);externint writeXml(char bufMac[], char bufMod[], char *nodeName, char *aliasVal, int flag); 

?对于extern关键字,可以这样理解:

加extern的函数实现在外部,不加的在内部。一般包含该实现的头文件,可以不用使用extern了。

?

然后在a.c源文件中,#include "b.h",一般写在#include的最后一行,避免产生错误。

像我这类新手,需要注意的是#include <b.h>和#include “b.h”的区别,前者的意思是去系统的默认目录去查找b.h文件,而后者是在当前目录下查找b.h文件。

?

完成定义b.h,并且在a.h中include之后,

就可以使用b.c中实现的函数了。

?

另外有个编译警告:

??????????????? warning: incompatible implicit declaration of built-in function ‘exit’

原因是没有包含对应的头文件,只要加上:#include <stdlib.h>即可。

读书人网 >编程

热点推荐