C++创建win32 DLL图解 (VS2010)

一、DLL的创建 
创建项目: Win32->Win32项目,名称:MyDLL

C++创建win32 DLL图解 (VS2010)_第1张图片
选择DLL (D) ->完成.
C++创建win32 DLL图解 (VS2010)_第2张图片

1、新建头文件testdll.h
testdll.h代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef TestDll_H_
#define TestDll_H_
#ifdef MYLIBDLL
#define MYLIBDLL extern "C" _declspec(dllimport) 
#else
#define MYLIBDLL extern "C" _declspec(dllexport) 
#endif
MYLIBDLL  int  Add( int  plus1,  int  plus2);
//You can also write like this:
//extern "C" {
//_declspec(dllexport) int Add(int plus1, int plus2);
//};
#endif

C++创建win32 DLL图解 (VS2010)_第3张图片

C++创建win32 DLL图解 (VS2010)_第4张图片

2、新建源文件testdll.cpp
testdll.cpp代码如下:

1
2
3
4
5
6
7
8
9
#include "stdafx.h"
#include "testdll.h"
#include <iostream>
using  namespace  std;
int  Add( int  plus1,  int  plus2)
{
int  add_result = plus1 + plus2;
return  add_result;
}

C++创建win32 DLL图解 (VS2010)_第5张图片

C++创建win32 DLL图解 (VS2010)_第6张图片
3、新建模块定义文件mydll.def
mydll.def代码如下:

1
2
3
LIBRARY  "MyDLL"
EXPORTS
Add @1


C++创建win32 DLL图解 (VS2010)_第7张图片

C++创建win32 DLL图解 (VS2010)_第8张图片

4、vs2010自动创建dllmain.cpp文件,它定义了DLL 应用程序的入口点。

dllmain.cpp代码如下:
// dllmain.cpp : 定义 DLL 应用程序的入口点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
BOOL  APIENTRY DllMain(  HMODULE  hModule,
                        DWORD   ul_reason_for_call,
                        LPVOID  lpReserved
       )
{
switch  (ul_reason_for_call)
{
case  DLL_PROCESS_ATTACH:
case  DLL_THREAD_ATTACH:
case  DLL_THREAD_DETACH:
case  DLL_PROCESS_DETACH:
   break ;
}
return  TRUE;
}


最后,编译生成MyDLL.dll文件和MyDLL.lib文件。

C++创建win32 DLL图解 (VS2010)_第9张图片

C++创建win32 DLL图解 (VS2010)_第10张图片

1>------ 已启动生成: 项目: MyDLL, 配置: Debug Win32 ------

1>  dllmain.cpp

========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

 

1>------ 已启动生成: 项目: MyDLL, 配置: Debug Win32 ------

1>  stdafx.cpp

1>  testdll.cpp

1>  MyDLL.cpp

1>  正在生成代码...

1>     正在创建库 D:\Visual C++\工程\Libaray\MyDLL\Debug\MyDLL.lib 和对象 D:\Visual C++\工程\Libaray\MyDLL\Debug

C++创建win32 DLL图解 (VS2010)_第11张图片

你可能感兴趣的:(C++创建win32 DLL图解 (VS2010))