DLL的Hello world

HelloWorld示例 DLL 和应用程序XXXXXXXX 在 Microsoft  Visual C++  6.0 中,可以通过选择“Win32 动态链接库” 项目类型 或“MFC 应用程序向导 (dll)”来创建 DLL。下面的代码是一个在 Visual C++ 中通过使用“Win32 动态链接库”项目类型创建的 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_DLLextern __declspec(dllexport) void HelloWorld() ;
  #elseextern __declspec(dllimport) void HelloWorld() ;
  #endif
  #endif



  下面的代码是一个“Win32 应用程序”项目的示例,该示例调用 SampleDLL DLL 中的导出 DLL 函数。
  / SampleApp.cpp
  //#include "stdafx.h"
  #include "sampleDLL.h"
  int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
  {
  HelloWorld();
  return 0;
  }



  注意:在加载时动态链接中,您必须链接在生成 SampleDLL 项目时创建的 SampleDLL.lib  导入库
  在运行时动态链接中,您应使用与以下代码类似的代码来调用 SampleDLL.dll 导出 DLL 函数。
  ...
  typedef VOID (*DLLPROC) (LPTSTR);
  ...
  HINSTANCE hinstDLL;
  DLLPROC HelloWorld;
  BOOL fFreeDLL;
  hinstDLL = LoadLibrary("sampleDLL.dll");
  if (hinstDLL != NULL)
  {
  HelloWorld = (DLLPROC) GetProcAddress(hinstDLL, "HelloWorld");
  if (HelloWorld != NULL)
  (HelloWorld);
  fFreeDLL = FreeLibrary(hinstDLL);
  }
  ...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值