ubuntu20.04动态库的制作

程序库(Library),也称为软件库(Software Library),是一组预编写的代码和资源的集合,旨在帮助开发人员完成特定任务或解决特定问题。这些代码和资源可以包括函数、类、变量、常量、数据结构、文档等,它们被封装在一个独立的单元中,以便在多个项目中重复使用。库的存在可以使得程序模块化,可以加快程序的再编译,可以实现代码重用,可以使得程序便于升级。

程序库可分静态库(static library)共享库(shared library)也即动态库

动态库是在运行时被加载到内存并链接到应用程序中的库。它的代码不会被复制到应用程序文件中,而是保存在独立的库文件中,应用程序在需要时动态地加载和链接这些库。这样的设计可以节省存储空间,并且允许库的更新在不重新编译应用程序的情况下进行。不过,应用程序需要确保在运行环境中存在所需的动态库文件。

动态库的制作:

  • 生成目标文件,此时要加编译选项:-fPIC(fpic),可以使用gcc或者g++
    gcc/g++ *.c/*.cpp -c -fpic

          -fPIC 创建与地址无关的编译程序(pic,position independent code),是为了能够在多个应用程序间共享。

  • 生成共享库,此时要加链接器选项: -shared(指定生成动态链接库)
    gcc/g++ -shared *.o -o libxxx.so

    例如:

要将上面所有cpp文件制作动态库

1.生成目标文件

 

 生成.o文件

 

2. 生成动态库

 

 制作完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值