1、MFC中的常规DLL可分为俩种——静态链接到MFC的常规DLL和动态链接到MFC的常规DLL。二者的区别是:前者使用的是MFC的静态链接库,生成的DLL文件长度大;后者使用MFC的动态链接库,生成的DLL文件长度小。
2、常规DLL会自动生成DEF文件,并编写导出函数,在头文件(.h)中声明导出函数,在源文件(.cpp)文件中编写实现代码。
3、实现隐式链接只要将导入函数的关键字_declspec(dllimport)和函数名写到应用程序对应的头文件中即可。
#pragma comment(lib, "xxxx.dll") //载入DLL
extern "C" _declspec(dllimport) void MsgBox(); //载入函数
而后就可以直接使用函数MsgBox()。当然也可以在Setting->Link页的Object/library modules栏填入xxxx.dll。
4、MFC中扩展DLL的特点是用来建立MFC的派生类,该DLL只能被用MFC类库所编写的应用程序调用。扩展DLL和常规DLL不一样,它没有一个从CWinApp继承而来的类的对象,编译器创建了一个DLL入口函数——DLLMain(),可以在此函数中实现DLL的初始化。