一、动态链接库的生成

  1. 首先利用VS2010新建一个空的工程或者win32工程

  2.在工程中添加头文件和源文件

  3.工程属性配置

3.1 可以在解决方案目录下新建以下几个文件夹

bin (用于存放Release编译生成的dll或exe文件)

bin_debug(用于存放Debug编译生成的dll或exe文件)

lib(用于存放Release编译生成的lib文件)

lib_debug(用于存放Debug编译生成的lib文件)

include(用于存放dll库对应的.h文件)

3.2设置工程属性

选中Algorithm工程——右键选中Properties

说明:若是Release编译将Output Directory设置为:..\bin

  Import Library设置为:..\lib\$(TargetName).lib

3.3 DllDemon程序的编写

 //Algorithm.h
#ifndef ALGORITHM_H_
#define ALGORITHM_H_
class _declspec(dllexport) McsfAlgorithm
{
public:
McsfAlgorithm();
~McsfAlgorithm();
int Add(int, int);
int Sub(int, int);
};
#endif
 //Algorithm.cpp
#include "Algorithm.h"
McsfAlgorithm::McsfAlgorithm()
{ } McsfAlgorithm::~McsfAlgorithm()
{ } int McsfAlgorithm::Add(int firstNum, int secondNum)
{
return firstNum + secondNum;
} int McsfAlgorithm::Sub(int firseNum, int secondNum)
{
return firseNum - secondNum;
}

3.4编译DllDemon工程,可以看到对应目录下生成的dll文件和lib文件

二、动态链接库的调用

1、在此解决方案下新建一个空的工程DllTestOperation,然后添加.cpp文件

2、配置DllTestOperation的工程属性,如下

3 main.cpp对应的代码

//main.cpp
#include "Algorithm.h"
#include <memory>
#include <iostream>
int main(int argc, char *argv[])
{
std::shared_ptr<McsfAlgorithm> myOpertion(new McsfAlgorithm());
int testNum1 = myOpertion->Add(,);
int testNum2 = myOpertion->Sub(,);
std::cout<<"testNum1 = "<<testNum1<<std::endl;
std::cout<<"testNum2 = "<<testNum2<<std::endl;
return ;
}

4. 编译此工程,运行结果如下:

总结:

1)包含dl对应的头文件

2)加入lib文件及其对应的目录

3)输出目录与dll的输出目录一致

4)与dll工程保持相同的编译平台(win32 或 X64)

VS2010动态链接库的生成及调用(C++)的更多相关文章

  1. VS2015环境下生成和调用DLL动态链接库

    一.生成动态链接库: 1.打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_ge ...

  2. VS2013 C++ 生成与调用DLL(动态链接库) 需要验证

    转载:https://blog.csdn.net/s978697043/article/details/82429802 一.创建动态链接库(生成.dll .lib 两个文件) 文件→新建→项目 选择 ...

  3. C/C++中动态链接库的创建和调用

    DLL 有助于共享数据和资源.多个应用程序可同时访问内存中单个DLL 副本的内容.DLL 是一个包含可由多个程序同时使用的代码和数据的库.下面为你介绍C/C++中动态链接库的创建和调用. 动态连接库的 ...

  4. C++(VS2012)DLL动态库的生成和调用

    DLL动态链接库的生成: 首先打开VS2012,新建——项目——Win32控制台应用程序(项目名称:ConsoleApplication1)——空项目 新建一个源文件source.cpp 先用控制台e ...

  5. vc6静态库的生成和调用

    转自vc6静态库的生成和调用 1.静态库的生成: 在vc6.0++中Ctrl+N选择Projects下的Win32 Static Library,Project name:SumLib,点击OK,下一 ...

  6. [转贴] C/C++中动态链接库的创建和调用

    DLL 有助于共享数据和资源.多个应用程序可同时访问内存中单个DLL 副本的内容.DLL 是一个包含可由多个程序同时使用的代码和数据的库.下面为你介绍C/C++中动态链接库的创建和调用. 动态连接库的 ...

  7. 分享:根据webservice WSDL地址自动生成java调用代码及JAR包

    分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...

  8. Keil中LIB库的作用、生成与调用

    LIB库有什么用,一个简单的例子就是Silicon Labs为C8051F单片机USB提供的USBXpress LIB库了,如USB发送数据.接收数据等,都是通用性很强的函数,但因为保密的原因,这个函 ...

  9. Keil C 里面Lib库文件的生成与调用

    源:Keil C 里面Lib库文件的生成与调用

随机推荐

  1. Python爬虫入门教程 44-100 Charles的安装与使用-手机APP爬虫部分

    1. 第二款抓包工具Charles安装与使用 Charles和Fiddler一样,也是一款抓包工具,比Fiddler界面更加清晰,支持多平台 1.1 官方网址 https://www.charlesp ...

  2. ArticleRemoveDelDialog【基于AlertDialog的回收删除对话框】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 回收删除对话框,继承AlertDialog. 仿照钉钉的长按弹出的移除置顶对话框. 效果图 代码分析 继承AlertDialog: ...

  3. TabTopAutoTextSizeLayout【自定义文字字号区域(动态选项卡数据且可滑动)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现可滑动效果.[实际情况中建议使用RecyclerView] 对<TabTo ...

  4. Redis协议规范(RESP)

    Redis 即 REmote Dictionary Server (远程字典服务): 而Redis的协议规范是 Redis Serialization Protocol (Redis序列化协议) 该协 ...

  5. 树莓派linux系统连接windows7系统中的共享文件夹的正确姿势

    一.要想使用树莓派linux成功访问win7的共享文件夹而不报错,最重要的事情是要正确设置win7中共享文件的设置. 1.需要共享文件点击右键→属性 2.共享选项卡→网络和共享中心 3.点开公用下拉菜 ...

  6. Form 表单提交的几种方式

    简单的总结一下form表单提交的几种方式:1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的   这种方式最近到一个form提供action路径后台接受就可以< ...

  7. 使用 pm2 守护你的 .NET Core 应用程序

    一.守护进程的前世今生 守护进程,英文名:"daemon",也有守护神的意思.守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出.诸如 mysql.apac ...

  8. Centos7上安装docker

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...

  9. jQuery(九)、ajax对象操作

    1 数组和对象操作 1.jQuery.extend([deep,] target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定targe ...

  10. IntelliJ IDEA下如何设置JSP模板

    今天在学习Spring MVC知识时,发现自己所用的IntelliJ IDEA中自动生成的JSP文件不支持EL表达式的使用,所以就想导入新的JSP模板,方便以后使用.根据旧模板的提示,如下图 找到Se ...