linux 下创建静态、动态库 1、LinuxLinux 下创建静态、动态库下创建静态、动态库__深水 蓝 深 水 蓝 Linux 下 创 建 静 态 、 Linux 下 创 建 静 态 、 源码-----------a
cpp---------------#includeinta(inti){std::printf(“ina(inta)%dn“,i);return0;}-----------b
cpp----------------#includeintb(char*s){std::coutusingnamespacestd;inta(inti);intb(char*s);intmain(){a(5); 2、b(“ok“);printf(“inmainn“);return0;}静态库 1、编译 生 成 a
o 文 件 #g++-ca
cpp2 、 生 成 archive 文 件libtest
ac-创建r-将文件加入libtest
a#arrclibtest
o3、指定静态库 libtest
a 进行编译#g++-omainmain
cpplibtest
a运行结果#
outina(inta)5inintb(char*s):okinmain 对于 libtest
a 直接将里面的代码拷贝出来相当于静态编译动态库 1、编译生成 a
o 文 3、件-fPIC 生成
o 文件时用相对地址实现代码位置无关#g++-fPICa
cpp2 、 生 成 动 态 库libtest
so#g++-shared-olibtest
o3 、 指 定 动 态 库 libtest
so 进 行 编 译 #g++main
/libtest
so查看动态连接库#ldda
/libtest
/libtest