匿名
未登录
登录
Peter_Matthew的Wiki
搜索
查看“C++:预处理/文件包含处理”的源代码
来自Peter_Matthew的Wiki
命名空间
C++
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
C++:预处理/文件包含处理
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
所谓“文件包含”处理是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。<br> C++提供了#include命令用来实现“文件包含”的操作。 == 文件包含的作用 == “文件包含”的作用是将一份代码复制到另一份代码中,例如 {| class="wikitable" |- ! a.cpp !! b.cpp !! 使用了“文件包含”的b.cpp |- | 代码片段A || 代码片段A<br>代码片段B || #include"a.cpp"<br>代码片段B |} “文件包含”可以节省程序设计人员的重复劳动时间。 <nowiki>#include</nowiki>命令的应用很广泛,绝大多数C++程序中都包括#include命令。现在,库函数的开发者把这些信息写在一个文件中,用户只需将该文件“包含”进来即可(如调用数学函数的,应包含cmath文件),这就大大简化了程序,写一行#include命令的作用相当于写几十行、几百行甚至更多行的内容。这种常用在文件头部的被包含的文件称为“标题文件”或“头部文件”。 '''头部文件一般包含以下几类内容:''' # 对类型的声明。 # 函数声明。 # 内置(inline)函数的定义。 # 宏定义。用#define定义的符号常量和用const声明的常变量。 # 全局变量定义。 # 外部变量声明。如entern int a; # 还可以根据需要包含其他头文件。 == 两种形式 == “文件包含”处理的#include命令的一般形式为<pre>#include<文件名></pre>或<pre>#include"文件名"</pre> 如<pre>#include<iostream></pre>或<pre>#include"iostream"</pre>都是合法的。 其区别是#include<文件名>会直接按系统指定的目录检索,然后再在文件所在目录检索;#include"文件名"会先在文件所在目录检索,然后再按系统指定的目录检索。但两种检索的后一次检索会让编译效率下降,所以应该按照上述说明,优先使用对应的文件包含方法。<br> 因此,应当使用#include<iostream>而不是#include"iostream",应当使用#include"a.cpp"而不是#include<a.cpp>。 == 关于C++标准库 == C++的库除了保留C的大部分系统函数和宏定义外,还增加了预定义的模板和类。但是不同C++库的内容不完全相同,由各C++编译系统自行决定。<br> C++标准将库的建设也纳入标准,规范化了C++标准库,以便使C++程序能够在不同的C++平台上工作,便于互相移植。<br> C++标准库中的头文件一般不再包括后缀.h,例如#include<string><br> 但为了使大批已有的C程序能继续使用,许多C++编译系统保留了C的头文件,即提供两种不同的头文件,由程序设计者选用。<br> <pre> #include<iostream.h> //C形式的头文件 #include<iostream> //C++形式的头文件 </pre> 效果基本上是一样的。<br> 建议尽量用符合C++标准的形式,即在包含C++头文件时一般不用后缀。<br> 如果用户自己编写头文件,可以用.h为后缀。
返回至“
C++:预处理/文件包含处理
”。
导航
导航
首页
最近更改
随机页面
我的其他网站
🏠我的博客
📕我的笔记
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志