美文网首页
#include指令

#include指令

作者: SimpleSJ | 来源:发表于2018-10-25 14:35 被阅读0次

注意点写在最前: .h是专门用来被拷贝的,不会参与编译

1.#include基本概念

  • #include 是c语言的预处理指令之一,所谓预处理,就是就是在编译之前做的处理,预处理指令一般以 # 开头
  • #include 一般后面跟一个文件名,预处理器发现 #include 指令后,就会根据文件名去查找文件,并把这个文件的内容包含到当前文件中,也就是完全拷贝文件替换预处理指令

2.#include <>和#include ""的区别

  • 二者的区别在于:当被include的文件路径不是绝对路径的时候,有不同的搜索顺序。
  • 对于使用双引号""来include文件,搜索的时候按以下顺序:
    • 先在这条include指令的父文件所在文件夹内搜索,所谓的父文件,就是这条include指令所在的文件
    • 如果上一步找不到,则在父文件的父文件所在文件夹内搜索;
    • 如果上一步找不到,则在编译器设置的include路径内搜索;
    • 如果上一步找不到,则在系统的include环境变量内搜索
  • 对于使用尖括号<>来include文件,搜索的时候按以下顺序:
    • 在编译器设置的include路径内搜索;
    • 如果上一步找不到,则在系统的include环境变量内搜索
//下面来讲一下 编译器设置的include路径 与 系统的include环境变量
如果你是自己安装clang编译器,clang设置include路径是(4.2是编译器版本):
/usr/lib/clang/4.2/include

Xcode自带编译器, clang设置include路径是
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include

Mac系统的include路径有:
/usr/include
/usr/local/include

如果没有这个目录,可参考如下:
打开终端输入:xcode-select --install
安装Command Line Tools之后就会出现

相关文章

网友评论

      本文标题:#include指令

      本文链接:https://www.haomeiwen.com/subject/pkaqtqtx.html