今天教大家在VC中创建DLL文件起来学习下中国自学编程网整理发布www.zxbc.cn
.Win32动态链接库
1.制作步骤:
(1)新建WIN32 Dynamic-link Library工程工程名为MyDll选择A simple DLL project类型
(2)MyDll.h内容如下:
extern \"C\" _declspec(dllexport) sum( a, b);//本文所有例子只有个sum即加法
(3)MyDll.cpp内容如下:
# \"stdafx.h\"
# \"windows.h\"
# \"MyDll.h\"
BOOL APIENTRY DllMain(
HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
TRUE;
}
extern \"C\" _declspec(dllexport) sum( a, b)
{
a+b;
}
(4)编译的后产生了MyDll.lib和MyDll.dll两个文件
2.使用思路方法:
(1).隐式法: 将MyDll.lib和MyDll.h拷贝到需要应用该DLL工程目录下将MyDll.dll拷贝到产生应用目录下并在需要应用该DLL中CPP文件中添加如下几行:
# \"MyDll.h\"
#pragma comment(lib,\"MyDll\");
(2).显示法:将MyDll.lib和MyDll.h拷贝到需要应用该DLL工程目录下将MyDll.dll拷贝到产生应用目录下并在需要应用该DLL中CPP文件中包含头文件如:
# \"MyDll.h\"
同时还需要在Project->Setting->Link->Object/library modules框中增加MyDll.lib这个库
2.MFC动态链接库
1.制作步骤:
(1)新建MFC AppWizard(dll)工程工程名为MFCDll选择Regular DLL using shared MFC DLL类型
(2)在生成MFCDll.cpp文件后面增加下面几行:
sum( a, b)
{
a+b;
}
(3)在生成MFCDll.def文件后面增加如下:
sum @1 ;表示第个是sum
(4)编译后会产生两个文件MFCDll.lib,MFCDll.dll
2.使用思路方法
(1)隐式法: 将MFCDll.lib拷贝到需要应用该DLL工程目录下将MyDll.dll拷贝到产生应用目录下并在需要应用该DLL中CPP文件中添加如下几行:
//注意这里没有在MFCDll.h中声明所以不能直接包含MFCDll.h来声明
#pragma comment(lib,\"MFCDll\");
sum( a, b);
//当然如果你DLL中有很多那可以另外写个MFCDll.h包含所有声明然后直接将头文件包含进去
(2)显示法:和Win32思路方法样不需要#pragma comment(lib,\"MFCDll\");但是需要在Project->Setting->Link->Object/library modules框中增加MFCDll.lib这个库 [Page]
最新评论