`
nigelzeng
  • 浏览: 607520 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

    博客分类:
  • C
阅读更多

在目前的设计中,

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

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

 

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

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

extern	char *getAliasVal(int num);
extern	char *getNodeName(int num);
extern	int 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>即可。

0
1
分享到:
评论

相关推荐

    C语言头文件库

    6. **头文件保护**:为了避免头文件被多次包含导致错误,通常会在头文件中使用 `#ifndef`、`#define` 和 `#endif` 来创建一个防护罩,确保头文件只被包含一次。 7. **链接过程**:当源文件引用了头文件中的函数或...

    C语言头文件的作用

    全局变量在多个文件中被引用时,必须确保它们在所有相关文件中具有一致的定义。头文件在此过程中起到了核心作用,它们存储全局变量的声明,确保每个源文件都使用相同的类型和名称。这样可以避免命名冲突,并且在更改...

    C语言头文件的使用与写法

    总结,头文件在C语言编程中起着连接各个源文件的作用,它们提供了代码的接口,使得不同模块的代码可以协同工作。理解和熟练运用头文件是每个C语言程序员必备的技能。通过合理地编写和使用头文件,我们可以构建出清晰...

    C语言和C++的头文件

    它们包含了函数声明、类型定义、宏定义和其他编程元素,这些元素可以在多个源文件之间共享,以便于模块化编程。在C语言中,头文件通常以`.h`为扩展名,如`stdio.h`(标准输入输出)、`math.h`(数学函数)和`stdlib....

    c语言头文件如何模块化编程-有最清晰的链接关系.docx

    - **模块化结构**:对于大型项目,可以按照功能划分多个模块,每个模块都有自己的头文件和源文件,通过头文件互相连接,这样可以提高代码的复用性和可维护性。 通过以上步骤和注意事项,我们可以有效地进行C语言的...

    51单片机部分单元电路程序的头文件

    例如,如果电路中包含多个传感器,可能会有如下定义: ```c typedef struct { unsigned char temp; // 温度值 unsigned char humidity; // 湿度值 } SensorData; ``` 4. **枚举类型**:枚举类型可以为常量...

    C++头文件和外设例程程序包安装

    1. **DSP281x C/C++头文件和外设例程程序包安装** 在进行开发之前,首先需要确保已安装了CCS FOR 2000集成开发环境。接着,可以从TI官方网站下载名为sprc097.rar的安装程序包。完成解压缩后,运行安装程序,按照...

    C语言合并多个char *类型的字符串

    在C语言中,合并多个`char *`类型的字符串是一项常见的任务,这通常涉及到字符串操作和内存管理。在给定的场景中,`main.c`文件是测试程序,它调用了`tools.h`头文件中定义的`MultiCombine`函数,这个函数的目的是将...

    演示使用多个c文件编译

    本示例中的"演示使用多个c文件编译"旨在展示如何在不同的C源文件之间共享变量和函数,并成功编译它们。我们将详细讨论这个主题,特别关注标题和描述中提到的点。 首先,让我们了解C编译的基本流程。当你有多个C...

    c++头文件实现无第三方依赖基础库

    在C++编程中,"头文件"是用来包含函数声明、类定义和其他编程元素的文件,它们使得代码可以被多个源文件共享。一个无第三方依赖的基础库意味着这个库完全由标准C++库支持,不依赖于任何外部的开源库或者特定平台的...

    C语言面试题大汇总之华为面试题:1、局部变量能否和全局变量重名;2、如何引用一个已经定义过的全局变量;3、全局变量可不可以定义在可被多个.C文件包含的头文件中 为什么;4、语句for( ;1 ;)有什么问题 它是什么意思……

    在同一个函数内可以定义多个同名的局部变量,每个局部变量的作用域就在那个循环体内。 二、extern关键字 extern关键字用于引用已经定义过的全局变量。如果用引用头文件方式来引用某个在头文件中声明的全局变理,...

    TMS320F2812头文件资料

    - **连接命令文件**:指定链接器如何将多个对象文件链接成最终的可执行文件。 ##### 4.2 例子编程流程 - **包含的例子**:提供了多种不同功能的示例,涵盖了常见的开发需求。 - **从FLASH开始执行例子**:有些示例...

    custom_header_files.zip

    `custom_header_files.zip`这个压缩包很可能包含了一些示例,展示了如何在C语言项目中有效地管理和使用多个自定义的头文件来组织代码和实现模块化。以下是对这一主题的详细讨论: 首先,我们来理解`.h`头文件的作用...

    怎么在keil里建立头文件.pdf

    在C语言中,我们使用`#include`预处理指令将头文件的内容引入到源文件中。 例如,在`delay.c`文件中,我们定义了一个`delay1s()`函数,这个函数用于实现延迟。在`led_on.c`文件中,我们调用了这个`delay1s()`函数,...

    C语言编程:vc++6.0入门教程及习题借鉴.pdf

    1. 工程与源文件:一个工程可以包含多个源文件(.cpp)和头文件(.h)。源文件通常包含实现功能的代码,而头文件则用于声明函数、变量和常量,便于在多个文件间共享。 2. 控制台应用程序:Win32 Console ...

    C语言常用库函数.docx

    头文件可以被多个源文件共享,避免了代码的重复编写。在编写C语言程序时,需要使用预处理指令#include来引用头文件。 头文件的主要作用是提供函数声明和宏定义,供多个源文件共享。头文件的内容不会被编译器编译,...

    单片机C语言实例-24c02存储多个数据.zip

    最后,实例中的"单片机C语言实例-24c02存储多个数据"很可能是包含了一个或多个C源文件和相关的头文件,展示了如何在实际项目中实现上述功能。这些源代码可能包含了初始化I²C、设置地址、读写数据的函数,以及一个...

    DHT温湿度传感器源码 适用于Arduino,提供DHT.h、DHT.cpp、DHT_U.h、DHT_U.cpp等源文件及样例

    3. **使用方法**:在Arduino项目中,首先需要包含相应的库文件,例如`#include "DHT.h"`,然后创建一个DHT对象,指定连接的Arduino引脚和传感器类型。例如: ```cpp #define DHTPIN 2 // 连接到Arduino的引脚2 #...

    C语言综合应用程序示例PPT课件.pptx

    使用多模块编程技术可以将一个大型应用程序分解成多个小型模块,每个模块完成特定的任务。 在实际应用中,多模块编程技术常用于大型软件系统的开发。例如,在开发一个操作系统时,可以将其分解成多个模块,每个模块...

    C语言中.h和.c文件解析.pdf

    头文件的存在使得代码模块化,可以方便地在多个源文件之间共享接口信息,而不必复制代码。 在词法与语法分析阶段,编译器将处理后的源代码转换成抽象语法树(AST),进一步解析语法结构。接下来的编译阶段,编译器...

Global site tag (gtag.js) - Google Analytics