linux c/c++ 编译加载动态库so
创建
gcc test.c -fPIC -shared -o libtest.so
加载
在GCC编译程序时,由于GCC命令不经能够编译,也能够链接程序,GCC链接程序是通过ld命令实现的,如何将GCC的命令行参数传递给ld命令呢,这就是通过-Wl,来实现的。
格式如下:
gcc -Wl,param1,param2,param3,…
在调用ld命令时,会等效于如下:
ld param1 param2 param3
注意:*-Wl,* 后的逗号(*,*)必不可少,如果要传递多个参数,参数间用*,**分隔***
-Wl,-Bstatic
指定后续ld在处理 -l 参数来链接库文件的链接方式首选静态库
-Wl,-Bdynamic
指定后续ld在处理 -l 参数来链接库文件的链接方式首选动态库
例如: -Wl,-Bstatic -la -lb -lc -Wl,-Bdynamic -ld -l e
会被解释成 :ld liba.a libb.a libc.a libd.so libe.so</