VS2019:C++程序lib静态库、dll动态库的生成和使用

一、静态库

        静态库的使用需要(1).h头文件;(2).lib静态库文件;

1、静态库生成

        (1)项目-右键属性-常规-配置类型-选静态库;

         (2)点击生成,Debug文件夹下出现lib静态库;

2、静态库使用

         (1)新建一个测试项目,将生成的funAdd.h和funAdd.lib复制到新工程目录下;

         (2)demo调用成功

 二、动态库

        动态库的使用需要(1).h头文件;(2).lib静态库文件;(3).dll动态库文件;

1、动态库生成

        动态库文件的生成稍麻烦一些;

        (1)首先创建新项目,类型选“动态链接库”;

         可以看到生成的项目已经默认添加了framework.h,pch.h,framework.cpp,pch.cpp;

        (2)默认文件无需更改,添加我们自己编辑的funAdd.h和funAdd.cpp;

        其中在funAdd.cpp中需要引用pch.h,(如下)

        funAdd.h文件的声明需要添加__declspec(dllexport)函数,(如下图) 

        (3)如果按照 “一、静态库、(1)静态库生成”步骤会发现只生成了.dll 文件而没有.lib文件;

此时首先需要:项目右键-添加-新建项-选择.def文件添加,添加后不需要任何改动;

        添加.def文件后,点击生成解决方案,发现生成了 .dll 和.lib两个文件;

 2、动态库的使用

         (1)新建一个demo项目,将dll,lib,和.h头文件拷贝至目录下;

         (2)在主程序中引用,成功调用;

        附上静态库、动态库的区别 :

windows中静态库lib和动态dll的区别及使用方法_dxzysk的专栏-CSDN博客

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
动态库静态库的编写方式基本相同,只是在编译链接时需要采用不同的方式。以下是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函数获取动态库中需要使用的函数或类。在代码中包含头文件即可使用动态库中的函数和类。在编译链接时需要指定动态库文件的路径和名称。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值