【C语言】so的编译和链接情况

  • -fPIC:表示编译为位置独立(地址无关)的代码,不用此选项的话,编译后的代码是位置相关的,所以动态载入时,是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。 

#### 环境变量 ####

# 查看程序静态链接库文件搜索路径
$ echo $LIBRARY_PATH
# 查看程序动态链接库文件搜索路径
$ echo $LD_LIBRARY_PATH  
# 添加动态连接库的搜索路径
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/you_so_path/



#### 查看so相关 ####

# 查看so库符号表,注意C/C++的函数名称是不同的
$ nm -D xxx.so
# 查看可执行程序链接动态库的情况
$ ldd <可执行程序>. e.g: ldd ffmpeg

上一篇:PHP连接和拆分数组array_combine()和array_slice()用法示例


下一篇:corrplot画图