如何在VC.NET中制作并使用动态链接库DLL
1、将C++类做成DLL
建立一个MFC DLL工程,PacketTransfer;将类的头文件搞到PacketTransfer.h中,并在要在外部调用的类声明前加_declspec(dllexport),如:要在外内调用CPacketTransfer类,可对该类做声明:
class _declspec(dllexport) CPacketTransfer
{
……
};
将类的定义文件内容拷到Sample.cpp中,然后生成该工程,生成的文件有:PacketTransfer.dll和PacketTransfer.lib
2、调用DLL中的C++类
将PacketTransfet.h,PacketTransfer.dll和PacketTransfer.lib拷贝到要调用的工程目录下,在工程属性中加入输入:PacketTransfer.lib,并包含头文件PacketTransfer.h,就可以使用类CPacketTransfer了:
CPacketTransfer temp,*pTest;……
3、将C或C++函数接口做成DLL
建立一个MFC DLL工程,api;将用到的头文件声明拷贝加到api.h中,将其它代码拷到api.cpp中,并在所有要调用的接口函数声明前加入导出声明,如:
extern "C" _declspec(dllexport) bool MakeMD5File(char *file,char *key);
然后生成该工程,得到文件api.dll和api.lib
4、使用DLL中的接口
将api.dll和api.lib拷到工程目录下,在工程属性中加入输入:api.lib,然后在使用接口函数前用extern "C" _declspec(dllimport)声明该接口即可:
extern "C" _declspec(dllimport) bool MakeMD5File(char *file,char *key);
然后可以使用该函数的,也可以用LoadLibrary()等系统API直接调用DLL中的接口.