c++ 动态库的编译

gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so

编译参数说明:(gcc命令参数)

-shared该选项指定生成动态连接库(让连接器生成T类型的导出符号表,有时候也生成弱连接W类型的导出符号),不用该标志外部程序无法连接。相当于一个可执行文件
-fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。

 

将test.c与动态库libtest.so链接生成可执行文件

gcc test.c -L. -ltest -o test

  

posted @ 2021-03-03 11:39  流逝的轻风  阅读(337)  评论(0编辑  收藏  举报