编译:找符号定义
链接:找实现
运行:执行
静态库链接时直接写进程序里了
动态库链接时只链接到了一些地址信息,需要到运行时再进行动态加载
编译时搜索头文件的顺序:
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环境变量指明用的一些命令去哪里找