解析VC中创建DLL,导出全局变量,函数和类的深入分析

see丶野性范er

see丶野性范er

2016-02-19 08:59

想要天天向上,就要懂得享受学习。图老师为大家推荐解析VC中创建DLL,导出全局变量,函数和类的深入分析,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!
一.创建DLL
1.在VC中新建一个Win32空项目MathLib;
2.添加预编译头文件stdafx.h,定义导入导出控制符号:
代码如下:

//stdafx.h
#pragma once
#define MATHLIB_EXPORT

3.添加包含要导出的全局变量,函数和类的头文件MathLib.h:
代码如下:

 //MathLib.h
 #pragma once

 #ifdef MATHLIB_EXPORT
 #define MATHLIBAPI __declspec(dllexport)
 #else
 #define MATHLIBAPI __declspec(dllimport)
 #endif

 //macro
 #define PI 3.14149

 //Global variable
 extern MATHLIBAPI int GlobalVariable;

 //Function
 MATHLIBAPI int Add(int a,int b);

 //Class
 class MATHLIBAPI Math
 {
 public:
  int Multiply(int a,int b);
 };

4.添加所导出元素的实现文件MathLib.cpp
代码如下:

 //MathLib.cpp
 #include "stdafx.h"
 #include "MathLib.h"

 int GlobalVariable = 100;

 int Add(int a,int b)
 {
  return a+b;
 }

 int Math::Multiply(int a,int b)
 {
  return a*b;
 }

二,测试所创建的DLL
测试代码:
代码如下:

 #include "stdafx.h"
 #include iostream
 using namespace std;

 #include "../MathLib/MathLib.h"
 #pragma comment(lib,"../Debug/MathLib.lib")

 int _tmain(int argc, _TCHAR* argv[])
 {
  cout"Pi = "PIendl;

  cout"GlobalVariable = "GlobalVariableendl;

  int a = 20,b = 30;
  cout"a="a", ""b="bendl;
  cout"a+b = "Add(a,b)endl;

  Math math;
  cout"a*b = "math.Multiply(a,b)endl;

  return 0;
 }

展开更多 50%)
分享

猜你喜欢

解析VC中创建DLL,导出全局变量,函数和类的深入分析

编程语言 网络编程
解析VC中创建DLL,导出全局变量,函数和类的深入分析

深入uCOS中全局变量的使用详解

编程语言 网络编程
深入uCOS中全局变量的使用详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PHP中的超全局变量

Web开发
PHP中的超全局变量

深入分析MFC中的CArray类

C语言教程 C语言函数
深入分析MFC中的CArray类

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

深入分析C++中类的大小

编程语言 网络编程
深入分析C++中类的大小

从汇编看c++中变量类型的深入分析

编程语言 网络编程 汇编语言
从汇编看c++中变量类型的深入分析

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Android 读写文件方法汇总

Android 读写文件方法汇总

用JavaScript 判断用户使用的是 IE6 还是 IE7

用JavaScript 判断用户使用的是 IE6 还是 IE7
下拉加载更多内容 ↓