您的位置:首页 > 其它

gcc编译链接时头文件和库文件的搜索顺序

2011-01-06 00:17 344 查看
编译:找符号定义
链接:找实现
运行:执行

静态库链接时直接写进程序里了
动态库链接时只链接到了一些地址信息,需要到运行时再进行动态加载

gcc从右往左找-L库 从左往右找-I头文件

编译时搜索头文件的顺序:
1. gcc先找-I设置的路径
2. 再找gcc的环境变量C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH设置的路径
3. 最后再找内定目录/usr/include /usr/local/include

链接时库文件的搜索顺序:
1. gcc先找-L设置的路径
2. 再找环境变量LIBRATY_PATH设置的路径
3. 最后再找内定目录 /lib /usr/lib /usr/local/lib

运行时动态库的搜索顺序:
1. 编译程序时直接指定动态库
2. 找环境变量LD_LIBRARY_PATH设置的路径
3. 找内定目录 /lib /usr/lib

PATH环境变量指明用的一些命令去哪里找

有一篇更详细一点的博客:http://blog.21ic.com/user1/6203/archives/2010/67992.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: