1 动态DLL就是在程序的运行过程中加载的。创建DLL的过程就是选择创建一个win32项目,然后选择创建DLL工程。
在使用的时候我们一般需要创建一个.h文件,在.h文件中提供所有对的外函数的接口,然后在DLL的主cpp中包含这个.h文件就可以。
2 DLL代码实例:
//.h文件
#pragma once
#define DLL_EXPORT __declspec(dllexport)
extern "C"
{
DLL_EXPORT int Add(int x,int y);
DLL_EXPORT int Sub(int x,int y);
}
//.cpp文件
#include "stdafx.h"
#include "SkCom3.h"
#include "ClassA.h"
int Add(int x,int y)
{
ClassA A;
A.showMess();
return x+y;
}
int Sub(int x,int y)
{
ClassA A;
A.showMess();
return x-y;
}
//使用DLL的过程,
如果DLL和使用DLL的工程在同一个解决方案中的话,我们可以使用添加依赖项,这样子在编译的时候会把DLL文件一起编译
#include "stdafx.h"
#include<iostream>
#include<wtypes.h>
using namespace std;
typedef int (*MyAdd)(int,int);
MyAdd adds;
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE hinst;
hinst = LoadLibrary(L"SKCom3.dll");
if(hinst)
{
adds= (MyAdd)GetProcAddress(hinst,"Add");
cout<<adds(3,5);
}
system("pause");
return 0;
}