一、DLL部分:
1、dlldemo.h
extern "C" _declspec(dllexport) int Sum(int a,int b); //加法函数。
extern "C" _declspec(dllexport) int Max(int a, int b); //取较大值函数
extern "C" _declspec(dllexport) int Min(int a, int b); //取较小值函数源文件dllDemo.cpp
2、dlldemo.cpp
#include "dllDemo.h"
extern "C" _declspec(dllexport)int Sum(int a, int b)
{return a+b;}
extern "C" _declspec(dllexport)int Max(int a, int b)
{
if(a>=b)
return a;
else
return b;
}
extern "C" _declspec(dllexport)int Min(int a, int b)
{
if(a>=b)
return b;
else
return a;
}
二、测试用例部分
#include <iostream>
#include<windows.h>
using namespace std;void main(void)
{
typedef int(*pMax)(int a,int b);
typedef int(*pMin)(int a,int b);
pMax Max=NULL;
pMin Min=NULL;
HINSTANCE hDLL;
hDLL=LoadLibrary("dllDemo.dll");//加载动态链接库MyDll.dll文件;
Max=(pMax)GetProcAddress(hDLL,"Max");
Min=(pMin)GetProcAddress(hDLL,"Min");
if (Max)//如果取出函数成功,则执行下面的语句
{
int A=Max(5,8);
cout<<"比较的结果为"<<A;
}
if (Min)
{
int B=Min(5,8);
cout<<"比较的结果为"<<B;
}
FreeLibrary(hDLL);//卸载MyDll.dll文件;}
}
本文介绍了一个简单的DLL(动态链接库)实现案例,包括加法、最大值和最小值计算等基本函数的定义与调用过程。通过具体代码展示了如何创建DLL文件及在主程序中加载并使用这些DLL中的函数。
1572

被折叠的 条评论
为什么被折叠?



