【牛客网C++服务器项目学习】Day2-动态库、Makefile

项目学习地址:【牛客网C++服务器项目学习】

day2

1.动态库的生成和使用

动态库,在程序的运行阶段,动态链接在程序中?不占用资源,只有使用到某个库时才会去加载

动态库的制作方法:

1.命名规则:libxxx.so(Windows平台下是libxxx.dll,dll是dynamic linked library的缩写)

2.gcc得到.o 文件,不过要加关键字 -fpic得到与位置无关的代码

  • gcc -c -fpic a.c b.c

  • 再使用gcc由.o文件得到动态库

    • gcc -shared a.o b.o -o libxxx.so

动态库的集中加载失败原因:

动态库在Linux下是一个可执行文件,只有在程序运行时,动态库会加载在内存中,动态的装载在程序中,相较于静态库,整个执行的过程变得更加的复杂了,因此,如果不注意,动态库的加载就会出现问题,下面总结集中加载失败的原因:

  • 动态库文件和头文件都需要打包给用户

  • 编译时需要指明动态库的绝对路径

  • 动态库没有写入在内存中,程序运行时,找不到动态库

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值