千家信息网

C++静态库和动态库怎么使用

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要讲解了"C++静态库和动态库怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++静态库和动态库怎么使用"吧!为什么要写这个教程?这
千家信息网最后更新 2024年12月12日C++静态库和动态库怎么使用

这篇文章主要讲解了"C++静态库和动态库怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++静态库和动态库怎么使用"吧!

为什么要写这个教程?

这个应用模型是我们在开发过程中经常使用的,例如:作为一名资深程序员,你需要为公司的应用开发工程师提供一个轮子:modbus通讯库。通过阅读modus协议之后,你可以手动实现这个库,你也可以在一些第三方的开源软件(比如:libmodbus)的基础上进行简单的修改,更快速的搞定工作。

如果你选择了后面这种做法,在libmodus库的外面再包裹一层你定义的API函数就可以输出以你的名字命名的库libNB.so,然后提供给应用开发人员。

但是在你的libNB.so中一定要静态链接libmodbus库,这样就只需要提供一个libNB.so就可以了(.h头文件当然是必须的),应用开发人员就会惊叹:大牛就是大牛,这么快就搞定了!

相反地,如果你动态链接libmodbus库,这样你就得提供2个文件给应用开发人员:libmodbus.so和libNB.so,这样就暴露了你偷懒的高尚品德。

这个教程就是来演示这个编译和链接过程。

当然,也顺带着介绍一些make+Makefile, cmake, VS2017等相关知识。

教程中包含的内容

1. Linux平台下

动态库、静态库的编译和使用;

动态库和静态库的间接使用;

使用make + Makefile 来编译/构建动态库、静态库、应用程序;

使用cmake来编译/构建动态库、静态库、应用程序。

2. Windows平台下

动态库、静态库的编译和使用;

动态库的导出机制;

使用cmake+VS2017来编译/构建动态库、静态库、应用程序。

3. 大概就是这个样子

视频演示步骤

1. Linxu平台

分别演示make + Makefile 和 cmake 来完成下面的操作:

(1)libA输出动态库,libB输出动态库,编译可执行程序。

(2)libA输出静态库,libB输出动态库,编译可执行程序。

2. Windows平台

演示用cmake得到VS项目,然后完成下面操作:

(1)libA输出动态库,libB输出动态库,编译可执行程序。

(2)libA输出静态库,libB输出动态库,编译可执行程序。

(3)你还可以自己去测试剩下的排列组合。。。

感谢各位的阅读,以上就是"C++静态库和动态库怎么使用"的内容了,经过本文的学习后,相信大家对C++静态库和动态库怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0