您的位置:首页 > 编程语言 > C语言/C++

C语言总结之文件包含

2013-12-21 22:56 232 查看
预处理器发现#include指令后,就会寻找跟在这个指令后的文件名的文件,并把这个文件的内容包含到当前文件中,替换掉#include指令。相当于把被包含的文件在当前文件中键入。

#include有两种使用形式:

#include <filename>
#include "filename"


在UNIX系统中,尖括号表示预处理器在一个或多个标准系统目录中寻找文件。双引号表示预处理器先在当前目录或指定目录寻找,然后在标准位置寻找。

在IDE环境下,有时候我们会把头文件放在其他文件夹里,这时如果使用「#include "filename"」会找不到对应的头文件。这种情况有三种解决方法:

一、改变环境设置。在工程设置里修改头文件路径,这样我们就可以直接使用「#include "filename"」了;

二、使用绝对路径。如果你的头文件放在D盘的lib文件夹里,可以写成「#include "D:\lib\filename"」;

三、使用相对路径。假设你的源文件放在当前工程目录,头文件放在当前工程目录的lib文件夹里,可以写成「#include ".\lib\filename"」;假设你的源文件放在当前工程的src目录,头文件放在当前工程目录的lib文件夹里,可以写成「#include "..\lib\filename"」。其中一个圆点表示当前目录,两个圆点表示返回上一层目录。如果要返回上两层目录,可以这样写「#include
"..\..\lib\filename"」。

我比较喜欢第三种方法,因为第一种如果换了电脑就需要重新设置,有点麻烦;第二种同理,需要修改绝对路径地址;第三种,无论是换了开发环境还是把工程文件夹复制到任何地方,都不需要做任何修改。

在UNIX环境下,解决方法和上面的第二种、第三种类似。

一、使用绝对路径。从根文件夹出发,例如「#include "/usr/lib/filename"」;

二、使用相对路径。例如「#include "./lib/filename"」。

在IDE环境下和在UNIX环境下,圆点表示的方式都是相同的,一个圆点表示当前目录,两个圆点表示上一层目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: