A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© to_love 中级黑马   /  2015-8-26 21:42  /  598 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

二者的区别在于:当被include的文件路径不是绝对路径的时候,有不同的搜索顺序。

1> 对于使用双引号""来include文件,搜索的时候按以下顺序:

先在这条include指令的父文件所在文件夹内搜索,所谓的父文件,就是这条include指令所在的文件
如果上一步找不到,则在父文件的父文件所在文件夹内搜索;
如果上一步找不到,则在编译器设置的include路径内搜索;
如果上一步找不到,则在系统的INCLUDE环境变量内搜索
2> 对于使用尖括号<>来include文件,搜索的时候按以下顺序:

在编译器设置的include路径内搜索;
如果上一步找不到,则在系统的INCLUDE环境变量内搜索
我这里使用的是clang编译器,clang设置include路径是(4.2是编译器版本):/usr/lib/clang/4.2/include

Mac系统的include路径有:

/usr/include
/usr/local/include

5 个回复

倒序浏览
感谢分享,复习了
回复 使用道具 举报
好的,学习了。
回复 使用道具 举报
复习复习
回复 使用道具 举报
笔记很详细啊 顶顶
回复 使用道具 举报
<> 用于引入c语言自带的头文件
“”用于引入程序员自己写的头文件
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马