linux下C 和 C++ include搜索的路径

C语言中中可以通过#include <stdio.h>和#include "stidio.h",区别是:

#include <stdio.h>,直接到系统指定目录去查找头文件。

#include "stidio.h",会先到当前目录查找头文件,如果没找到在到系统指定目录查找。


C++中类似, 区别在于

C++中尖括号一般用户标准库头文件,而引号用于用户自己头文件


gcc编译时查找头文件,按照以下路径顺序查找:

1. gcc编译时,可以设置-I选项以指定头文件的搜索路径,如果指定多个路径,则按照顺序依次查找。比如,

[plain]  view plain  copy
 print ?
  1. gcc -I /usr/local/include/node a.c  

2. gcc会查找环境变量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路径。

3. 系统默认的路径,分别是/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-linux/2.95.2/include(gcc库文件的路径,各个系统不一致)。

同时,include也可以采用相对路径,比如,a.c需要包含/usr/local/include/node/v8.h,由于/usr/local/include是系统的默认搜索路径,所以在a.c中可以用相对路径包含,#include<node/v8.h>。


Linux 下C 和C++的头文件都可以在/usr/include 路径下找到

Ubuntu 系统上测试结果如下:

C的头文件(/usr/include):



C++ 的标准库头文件在/usr/include/c++/4.8.2 路径下

(我的Ubuntu14.2 机器上 /usr/include/c++ 下有两个c++ 标准库文件的版本,一个为4.8,一个为4.8.2)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值