关闭

c++ 动态DLL编写和使用

140人阅读 评论(0) 收藏 举报
分类:

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;
}





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9616次
    • 积分:430
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条