C++创建dll文件及使用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jirryzhang/article/details/54408299


一、DLL的创建 

创建项目: Win32->Win32项目,名称:dllTest,应用程序类型选择dll,不要去掉预编译头

添加新建项头文件dllTest.h,如下

#ifndef DllTest_H_
#define DllTest_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
新建cpp文件dllTest.cpp如下:

#include "stdafx.h"
#include "dlltest.h"
#include <iostream>
using namespace std;
int Add(int plus1, int plus2)
{
int add_result = plus1 + plus2;
return add_result;
}
新建模板定义文件dlltest.def

LIBRARY "MyDLL"
EXPORTS
Add @1
在建立本项目时,vs2010会自动创建dllmain.cpp,内容如下:

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#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;
}
最后选择“生成”菜单里的“生成dllTest”,即可在相应项目目录下找到编译出来的dlltest.lib,和dlltest.dll。

在使用这个dll时,需要三个文件:dlltest.lib,dlltest.dll,dlltest.h。

和普通的dll使用一样,链接器-输入-附加依赖项要添加dlltest.lib,VC++目录的可执行文件项添加dlltest.dll所在目录,包含目录添加dlltest.h所在目录即可。

测试如下代码如下:

#include"dlltest.h"
#include<iostream>
using namespace std;

void main()
{
	int a,b;
	while(1)
	{
	cin>>a>>b;
	cout<<Add(a,b)<<endl;

	}
}
输入两个数2,5,输出结果7.dll运行正常。






阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页