创建简单的 DLL






3.06/5 (32投票s)
2002年6月29日
1分钟阅读

285785

1
创建第一个 DLL 文件的步骤。
引言
本文档展示了使用 VC++ 创建您的第一个 DLL 的逐步技术。
创建您的第一个 DLL 的步骤
- 创建一个 Win32 动态链接库项目,添加一个 *.cpp 文件和一个 *.h 文件。
- 在 *.cpp 文件中,创建一个从
CWinApp
文件实例化的类。# include <stdafx.h> # include "SourceFile.h" class CDllApp : public CWinApp { public: CDllApp::CDllApp() { Calc(0,0); } DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP(CDllApp,CWinApp) END_MESSAGE_MAP() CDllApp DllObject;
- 在 *.h 文件中(这里是 SourceFile.h),定义要使用的函数。同时为
_declspec
函数指定dllexport
值。extern "C" _declspec(dllexport) int Calc(char no1,char no2) { char result; result = no1 + no2; return result; }
- 然后编译 DLL。
- 创建一个普通的 Win32 应用程序,包含一个 *.cpp 文件和一个 *.h 文件。
- 在 *.h 文件中(这里是 AppHeader.h),使用
_declspec
的dllimport
值声明该函数。extern "C" _declspec(dllimport) Calc(int FirstValue, int SecondValue);
- 在 *.cpp 文件中,使用该函数。
# include "AFXWIN.H" # include "AppHeader.h" class MainFrame : public CFrameWnd { public: MainFrame() { Create(0,"Trial"); } void OnLButtonDown(UINT nFlags,CPoint point) { int res; char str[5]; res = Calc(998,226); sprintf(str,"%d",res); MessageBox(str); } DECLARE_MESSAGE_MAP() };
- 在“项目->设置”对话框的“链接”选项卡中,转到标记为“对象/库模块”的文本框,并指定 DLL 文件的路径。然后将编译后的 DLL 文件复制到您当前应用程序的路径目录中并运行程序。
需要注意的一些事项
由于 Windows 文件夹中的文件视图选项,DLL 文件可能不可见。因此,您可以转到 DOS 提示符并复制文件,或者在 Windows 资源管理器中启用“显示所有文件”设置来复制文件。要创建使用 MFC 的 DLL,请参阅以下示例。请注意,没有使用 extern "C",并且使用了宏 AFX_MANAGE_STATE(AfxGetStaticModuleState());
来实现 MFC。
_declspec(dllexport)CString Display(CString a,CString b)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CString Str;
Str = a + b;
return Str;
}
就这样了,各位。祝你好运,玩得开心。