c++ 动态库和静态库

静态库的名字一般是libxxx.a,代码在编译过程中已经被载入可执行程序,因此体积比较大,程序运行时将不再需要该静态库。
动态库的名字一般是libxxx.so,代码在编译过程中仅简单的引用,在可执行程序运行时才载入内存。因此代码体积比较小,程序运行时需要动态库。动态库与程序代码独立,这样就可以提高代码的可复用度,和降低程序的耦合度。

区别:
速度方面,静态库把库直接加载到程序中,运行速度比较快;动态库速度较慢
内存方面,静态库多个程序运行时内存中会有多个副本,占用内存较大;动态库多个程序运行时共享一份相同的动态库,占用内存较小
迭代方面,静态库一旦程序中有任何模块更新,整个程序就要重新编译,升级不方便;动态库只要将旧的目标文件覆盖掉,升级比较方便。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
动态静态的编写方式基本相同,只是在编译链接时需要采用不同的方式。以下是C++动态静态的编写方法: ### 静态 1. 创建静态项目:打开Visual Studio,选择“新建项目”,然后选择“Win32控制台应用程序”,输入项目名称和路径,点击“确定”按钮。在弹出的窗口中选择“静态”类型,然后点击“下一步”按钮,最后点击“完成”按钮。 2. 编写文件代码:在项目中添加源文件,编写文件的代码,并在头文件中声明需要导出的函数和类。 3. 生成静态文件:在编译链接时将代码编译成静态文件,可以手动编译或在Visual Studio中配置。在Visual Studio中,可以选择“生成”菜单中的“生成解决方案”或“生成项目”命令生成静态文件。生成的静态文件通常以.lib为扩展名。 4. 使用静态:在使用静态的应用程序中,需要在编译链接时将静态文件链接到可执行文件中。可以在应用程序的项目属性中配置链接选项,将静态文件添加到链接器的附加依赖项中。在代码中包含头文件即可使用静态中的函数和类。 ### 动态 1. 创建动态项目:打开Visual Studio,选择“新建项目”,然后选择“Win32控制台应用程序”,输入项目名称和路径,点击“确定”按钮。在弹出的窗口中选择“动态链接(DLL)”类型,然后点击“下一步”按钮,最后点击“完成”按钮。 2. 编写文件代码:在项目中添加源文件,编写文件的代码,并在头文件中声明需要导出的函数和类。需要使用__declspec(dllexport)关键字将需要导出的函数或类标记为可导出。 3. 生成动态文件:在编译链接时将代码编译成动态文件,可以手动编译或在Visual Studio中配置。在Visual Studio中,可以选择“生成”菜单中的“生成解决方案”或“生成项目”命令生成动态文件。生成的动态文件通常以.dll为扩展名。 4. 使用动态:在使用动态的应用程序中,需要在运行时加载动态文件,并使用GetProcAddress函数获取动态中需要使用的函数或类。在代码中包含头文件即可使用动态中的函数和类。在编译链接时需要指定动态文件的路径和名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值