电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

linux下创建静态、动态库

linux下创建静态、动态库_第1页
1/9
linux下创建静态、动态库_第2页
2/9
linux下创建静态、动态库_第3页
3/9
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.ob.o 文 件 #g++-ca.cppb.cpp2 、 生 成 archive 文 件libtest.ac-创建r-将文件加入libtest.a#arrclibtest.aa.ob.o3、指定静态库 libtest.a 进行编译#g++-omainmain.cpplibtest.a运行结果#./a.outina(inta)5inintb(char*s):okinmain 对于 libtest.a 直接将里面的代码拷贝出来相当于静态编译动态库 1、编译生成 a.ob.o 文 3、件-fPIC 生成.o 文件时用相对地址实现代码位置无关#g++-fPICa.cppb.cpp2 、 生 成 动 态 库libtest.so#g++-shared-olibtest.soa.ob.o3 、 指 定 动 态 库 libtest.so 进 行 编 译 #g++main.cpp./libtest.so查看动态连接库#ldda.out./libtest.so=./libtest.so(0x40014000)libstdc++-libc6.2-2.so.3=/usr/lib/libstdc++-libc6.2-2.so.3(0x4002e000)libm.so.6= 4、/lib/i686/libm.so.6(0x40071000)libc.so.6=/lib/i686/libc.so.6(0x42000000)/lib/ld-linux.so.2=/lib/ld-linux.so.2(0x40000000)/lib/ld-linux.so.2=/lib/ld-linux.so.2(0x40000000) 其 他 1 、 动 态 连 接 库 3 时 假 如 #g++main.cpplibtest.so 编译可通过但运行出错在默认库路径下找不到 libtest.so 库#./a.out./a.out:errorwhileloading 5、sharedlibraries:libtest.so:cannotopensharedobjectfile:Nosuchfileordirectory查看连接库#ldda.outlibtest.so=notfoundlibstdc++-libc6.2-2.so.3=/usr/lib/libstdc++-libc6.2-2.so.3(0x4002c000)libm.so.6=/lib/i686/libm.so.6(0x4006f000)libc.so.6=/lib/i686/libc.so.6(0x42000000)/lib/ld-l 6、inux.so.2=/lib/ld-linux.so.2(0x40000000)2、便利使用可以将静态库 libtest.a 或者动态库 libtest.so 拷贝到默认库的查找路径里/lib 或者/usr/lib 里,编译时直接#g++main.cpp-ltest-l自 动 进 行 库 名 称 扩 展 #ldda.outlibtest.so=/usr/lib/libtest.so(...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

linux下创建静态、动态库

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部