本人小白,自学没多久,有几个问题一直没搞太明白,望高手解答!
假如我写了一个动态库libmylib.so(我有函数声明mylib.h),里面用到了A同学写的动态库liba.so(我有声明a.h),现在我要在一个新的程序test.cpp里调用我写的mylib.so
问题:
1.test.cpp的头文件需要两个.h都包含还是只要mylib.h?
2.用g++链接时 -lmylib -la都需要吗?
3.假如有一天liba.so文件丢失了,libmylib.so还在,我之前生成的test执行文件是不是就没法用了?
4.把上述情况的.so都改成.a静态库的话情况会怎样?
可能问题比较蠢,还望各位不吝赐教!
[c/c++]关于linux下动态库/静态库的基础问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- 小灸舞 2016-04-13 02:06关注
1.只要你用到了a.h头文件里的内容那么就需要包含
2.两个都需要-lmylib -la
3.没法用了,因为动态库是在程序运行时被链接的
4.用静态库是可以的,因为静态库被链接后库就直接嵌入可执行文件中了本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
- ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序