MFC:创建dll和调用dll
来源:互联网 发布:剑网三军爷脸数据 编辑:程序博客网 时间:2024/05/29 14:29
一、创建dll文件:
1、打开VS2010,新建Win32项目,如下图所示:
2、应用程序类型,选取DLL
3、添加新类 DigitalProc,在头文件 DigitalProc.h中添加如下代码:
#ifndef DIGITALPROCl_H_#define DIGITALPROCl_H_#ifdef DIGITALDLL#define DIGITALDLL extern "C" _declspec(dllimport)#else#define DIGITALDLL extern "C" _declspec(dllexport)#endifDIGITALDLL int Add(int num1, int num2);DIGITALDLL int Minus(int num1, int num2);DIGITALDLL int Max(int num1, int num2);DIGITALDLL int Min(int num1, int num2);#endif
4、在 DigitalProc。cpp中添加如下代码:
#include "stdafx.h"int Add(int num1, int num2){ return num1 + num2;}int Minus(int num1, int num2){ return num1 - num2;}int Max(int num1, int num2){ return num1 > num2 ? num1 : num2;}int Min(int num1, int num2){ return num1 < num2 ? num1 : num2;}
5、新建模块定义文件,如下图所示:
在该文件中添加如下代码:
LIBRARY "DigitalOpera"EXPORTSAdd @1Minus @2Max @3Min @4
6、编译(会提示无法启动程序...dll,但无关紧要,文件已成功生成),生成dll和lib文件,如下图所示:
一、调用dll文件:
1、新建一个控制台程序,将DigitalOpera.dll添加到该项目的Debug目录下;
2、在主文件中添加如下代码:
#include "stdafx.h"#include <Windows.h>#include <iostream>using namespace std;typedef int (*lpAddFunc)(int, int);typedef int (*lpMinusFunc)(int, int);typedef int (*lpMaxFunc)(int, int);typedef int (*lpMinFunc)(int, int);int _tmain(int argc, _TCHAR* argv[]){ lpAddFunc addFunc; lpMinusFunc minusFunc; lpMaxFunc maxFunc; lpMinFunc minFunc; HINSTANCE hDll; hDll = LoadLibrary("..\\Debug\\DigitalOpera.dll"); if (hDll != NULL) { addFunc = (lpAddFunc)GetProcAddress(hDll, "Add"); minusFunc = (lpMinusFunc)GetProcAddress(hDll, "Minus"); maxFunc = (lpMaxFunc)GetProcAddress(hDll, "Max"); minFunc = (lpMinFunc)GetProcAddress(hDll, "Min"); if (addFunc != NULL) { cout << addFunc(12, 35) << endl; cout << minusFunc(12, 35) << endl; cout << maxFunc(12, 35) << endl; cout << minFunc(12, 35) << endl; } } return 0;}
3、运行结果如下:
至此,有关dll的创建和调用过程已简单的阐述完毕。
0 0
- MFC:创建dll和调用dll
- VS2008 Non-MFC Dll创建和调用
- dll创建和调用
- dll创建和调用
- DLL创建和调用
- 利用C#创建DLL和调用DLL
- VS2008 创建DLL和调用DLL
- VS2008 创建DLL和调用DLL
- VS2008 创建DLL和调用DLL
- VS2008 创建DLL和调用DLL
- VS2008 创建DLL和调用DLL
- VS2015 创建DLL和调用DLL
- C#创建和调用DLL
- C#创建和调用DLL
- C#创建和调用DLL
- C#创建和调用DLL
- C#创建和调用DLL
- C#创建和调用DLL
- 对Java静态代码块的理解
- thinkphp中带下划线的类命名方式
- 岁月悠长,秋深情暖
- 在Unity3D中加载外部图片的两种方法
- 为什么 Nginx 的性能要比 Apache 高很多?
- MFC:创建dll和调用dll
- SuperMap iServer SDK 博客集锦
- 3des加密(双倍长)(ECB,CBC)详细介绍
- 运行android程序控制台输出异常The connection to adb is down, and a severe error has occured
- C#DES加密解密
- 浅谈ThreadLocal
- CodeForces
- 赫夫曼树与赫夫曼编码
- 我有一个秘密