编译时连接与运行时链接及静态库链接

编译时连接与运行时链接的参考路径

//本地编译器动态库编译时链接
-L
/lib 
/usr/lib 
/usr/local/lib


编译时链接的话,能查到libname.so
且这个文件要不是个link,要不就是实际的动态库文件,否则会报错
说链接顺序没有意义,因为并不链接到文件里面去
注意:
不包括LD_LIBRARY_PATH与/etc/ld.so.conf.
上面两种配置是运行时链接要参考的路径,并不是编译时链接要参考的路径.
//本地编译器动态库运行时链接
1. 编译目标代码时指定的动态库搜索路径;-Wl,-rpath,
2. 环境变量 LD_LIBRARY_PATH 指定的动态库搜索路径
3. 配置文件 /etc/ld.so.conf 中指定的动态库搜索路径
4. 默认的动态库搜索路径 /lib
5. 默认的动态库搜索路径 /usr/lib
//交叉编译器动态库编译时链接



如果是交叉编译器的话,例如可以在/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib这里添加
//交叉编译器动态库运行时链接


//静态库编译时链接
//静态库没有运行时链接的概念,因为已经被链接进可执行文件里去了
-L
/lib 
/usr/lib 
/usr/local/lib
顺序暂不更新

你可能感兴趣的:(C)