c++ 动态DLL编写和使用

1 动态DLL就是在程序的运行过程中加载的。创建DLL的过程就是选择创建一个win32项目,然后选择创建DLL工程。

 在使用的时候我们一般需要创建一个.h文件,在.h文件中提供所有对的外函数的接口,然后在DLL的主cpp中包含这个.h文件就可以。


2 DLL代码实例:

 //.h文件

  

#pragma once

#define DLL_EXPORT __declspec(dllexport)

 extern "C" 
{
  DLL_EXPORT int Add(int x,int y);

  DLL_EXPORT int Sub(int x,int y);

 }

//.cpp文件

#include "stdafx.h"
#include "SkCom3.h"
#include "ClassA.h"


int Add(int x,int y)
{
	ClassA A;
	A.showMess();
	return x+y;
}


int Sub(int x,int y)
{
	ClassA A;
	A.showMess();
	return x-y;
}


//使用DLL的过程,

 如果DLL和使用DLL的工程在同一个解决方案中的话,我们可以使用添加依赖项,这样子在编译的时候会把DLL文件一起编译

#include "stdafx.h"
#include<iostream>
#include<wtypes.h>

using namespace std;

typedef int (*MyAdd)(int,int);

MyAdd adds;
int _tmain(int argc, _TCHAR* argv[])
{
	HMODULE hinst;
	hinst = LoadLibrary(L"SKCom3.dll");

	if(hinst)
	{
		adds= (MyAdd)GetProcAddress(hinst,"Add");
		cout<<adds(3,5);
	}
	system("pause");
	return 0;
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值