1. 头文件

gcc在编译时如何去寻找所需要的头文件:

  1. 头文件的搜索会从-I指定的目录开始;
  2. 然后搜索gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH 设置的目录;
  3. 再搜索系统目录 /usr/include/usr/local/include(centos7中该目录下是空的);
  4. 最后搜索gcc的一系列自带目录(如/usr/include/c++/4.8.5)。

2. 库文件

编译的时候:

  1. gcc会先搜索-L指定的目录;
  2. 再搜索gcc的环境变量LIBRARY_PATH;
  3. 再搜索系统目录:/lib和/lib64/usr/lib 和/usr/lib64/usr/local/lib和/usr/local/lib64,这是当初compile gcc时写在程序内的。

3. 运行时动态库的搜索路径

动态库的搜索路径搜索的先后顺序是:

  1. 编译目标代码时指定的动态库搜索路径;
  2. 环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
  3. 配置文件/etc/ld.so.conf中指定的动态库搜索路径;
  4. 默认的动态库搜索路径/lib
  5. 默认的动态库搜索路径/usr/lib
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐