在 Microsoft Visual C++ 6.0 中创建 DLL
示例 1:从命令行工作
现在我们创建一个单行 DLL。以下是源代码:
extern "C" __declspec(dllexport) void myfun(int * a){*a = - *a; }
将其保存到文件 myfun.cpp 并从 DOS 提示符下使用以下命令对其进行编译:
cl -LD myfun.cpp
-LD 开关表示生成 DLL。接下来我们创建一个可执行文件,它调用该 DLL。以下是源代码:
#include iostream.h extern C __declspec(dllimport) void myfun ( int * a); void main(void) { int a = 6; int b = a; myfun(&b); cout << '-' << a << " is " << b << "! "; }
将其保存到文件 main.cpp。然后使用以下命令从命令提示符编译和链接:
cl main.cpp /link myfun.lib
从命令行执行它(只需键入"main")。
示例 2:使用 VC++ IDE 创建 DLL
在 Microsoft Visual C++ 6.0 中,您可以通过选择 Win32 动态链接库项目类型或 MFC AppWizard (dll) 项目类型来创建 DLL。
以下代码是使用 Win32 动态链接库项目类型在 Visual C++ 中创建的 DLL 的示例。
// SampleDLL.cpp #include "stdafx.h" #define EXPORTING_DLL #include "sampleDLL.h" BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } void HelloWorld() { MessageBox( NULL, TEXT("Hello World"), TEXT("In a DLL"), MB_OK); }
// File: SampleDLL.h #ifndef INDLL_H #define INDLL_H #ifdef EXPORTING_DLL extern __declspec(dllexport) void HelloWorld(); #else extern __declspec(dllimport) void HelloWorld(); #endif #endif