DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减小程序的体积。
一:VS2013生成C++编写的dll文件
新建项目---Visual C++,Win32控制台应用程序----下一步---DLL---完成----编写完函数后右键生成,即可在对应的程序文件里面生成需要的dll文件。
说明:在函数定义之前加上extern "C" _declspec(dllexport) 语句,extern "C"来指明该函数使用C编译方式,输出的“C”函数可以从“C”代码里调用,cpp文件在编译为OBJ文件时要对函数进行重新命名,C语言会把函数name重新命名为_name,而C++会重新命名为_name@@decoration,extern "C"表示用C语言的格式将函数重命名。要输出整个的类,对类使用_declspec(_dllexpot);要输出类的成员函数,则对该函数使用_declspec(_dllexport)。
二:VS2013中调用上述Dll
调用函数前加入以下代码:
#pragma comment(lib,"xxx.lib")
extern "C" _declspec(dllimport) +函数