当前位置:首页 » 编程语言 » c语言中的被包含文件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中的被包含文件

发布时间: 2022-09-14 10:26:59

⑴ C语言包含文件的格式

..(两个点)表示上一级目录

相应的

.(一个点)表示当前目录

⑵ C语言文件包含相关问题

两个 .c 文件没有包含关系的话,编译器当然是分别编译两个 .c 文件。这里把编译器生成的文件称为 .obj 文件,.obj 文件中不需要有所有用到的函数的定义

链接的时候需要告诉链接器两个 .obj 文件之间有引用关系,这样链接器就会把两个 .obj 文件组合起来,形成完整的程序,此时所有用到的函数都必须有定义,否则就会有链接期错误

至于要编译哪些文件,哪些文件需要链接在一起,必须告诉 编译器/链接器,可以是手动(通过命令行)告诉,也可以利用配置文件,或 IDE 自动生成……

⑶ C语言中文件包含功能怎么用

  1. 文件包含是指一个C语言源程序中将另一个C语言源程序包含进来,通过include预处理指令实现。

一般形式:

#include”被包含文件名”

或#include<被包含文件名>

2. 作用:将指定文件包含在当前文件中,插入至文件包含指令相应位置处。使用文件包 含指令,可以减少程序设计人员的重复劳动,提高程序开发效率。

3. 说明:


(1)被包含的文件一般指定为头文件(*.h),也可为C程序等文件。


(2)一个include指令只能指定一个被包含文件,如果要包含n个文件,则要用到n条include指令。


(3)不能包含OBJ文件。文件包含是在编译前进行处理,不是在连接时进行处理。


(4)当文件名用双引号括起来时,系统先在当前目录中寻找包含的文件,若找不到,再在系统指定的标准方式检索其它目录。而用尖括号时,系统直接按指定的标准方式检索。


一般系统提供的头文件,用尖括号。自定义的文件,用双引号。


(5)被包含文件与当前文件,在预编译后变成同一个文件,而非两个文件。


(6)文件包含可以嵌套,但必须按顺序包含。

⑷ C语言文件包含问题

不需要考虑库文件被重复包含的问题,这些标准文件内部都用宏和条件编译的方式做了防护,不会出现被重复包含的问题

反倒是你自定义的声明/宏会被重复包含

一般的做法是使用专门的宏作为标记,先判断该宏在之前是否已被定义,如该宏已被定义则通过条件编译忽略本头文件剩下的内容,这样就可以避免重复定义/声明的问题

形如:

#ifndef__MYSTRING_H__
#define__MYSTRING_H__

#defineTrue(1)
...

voidfunc1(int);
voidfunc2(int);
...

#endif

⑸ C语言文件包含相关问题

这个函数:int t()
在dfq.c中有定义,在mainc()中包含了dfq.c,#include预处理指令将其后指定的文件原地展开。此时相当于main.c中又定义了一次 int t(),C语言规定标识只能定义一次(但可以声明多次).
解决这个问题的方法有多种,通常的做法是:
建一个头文件:dfq.h,在其中声明函数int t();大致像这样
#ifndef DFQ_H
#define DFQ_H

int t();

#endif

然后在dfq.c中的开始处:
#include "dfq.h"

在main.c中的开始处:
#include "dfq.h"

简单解释一下dfq.h中的#ifndef预处理指令的意思:主要是为了防止多次重复的文件包含。当第1次包含时DFQ_H没有定义,此时包含文件内容,第2次以上包含时,因有了DFQ_H的定义,因此之后的内容将被忽略。

⑹ 什么是C语言文件包含处理

文件包含处理是指在一个源文件中,通过文件包含命令将另一个源文件的内容全部包含在此文件中。在源文件编译时,连同被包含进来的文件一同编译,生成目标,目标文件。