博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dll 导出类 [示例代码]
阅读量:6197 次
发布时间:2019-06-21

本文共 1634 字,大约阅读时间需要 5 分钟。

1、Dll相关代码

MyDll.h

[cpp]
  1. #ifdef DLL1_API 
  2. #else 
  3. #define DLL1_API extern "C" __declspec(dllimport) 
  4. #endif 
  5. DLL1_API int Add(int a,int b); 
  6. DLL1_API int Sub(int a,int b); 
  7. class __declspec(dllexport) Person 
  8. public
  9.     Person(char *name); 
  10.     char*   m_Name; 
  11.     int     m_Age; 
  12. }; 
#ifdef DLL1_API #else #define DLL1_API extern "C" __declspec(dllimport) #endif DLL1_API int Add(int a,int b); DLL1_API int Sub(int a,int b); class __declspec(dllexport) Person { public: Person(char *name); char* m_Name; int m_Age; };

 

MyDll.cpp

[cpp]
  1. #define DLL1_API extern "C" __declspec(dllexport) 
  2. #include "MyDll.h" 
  3. #include <Windows.h> 
  4. #include <stdio.h> 
  5. #pragma comment(linker,"/DLL") 
  6. #pragma comment(linker,"/ENTRY:DllMain") 
  7. int Add(int a,int b) 
  8.     return a+b; 
  9. int Sub(int a,int b) 
  10.     return a-b; 
  11. Person::Person(char *name) 
  12.     m_Name = name; 
#define DLL1_API extern "C" __declspec(dllexport) #include "MyDll.h" #include <Windows.h> #include <stdio.h> #pragma comment(linker,"/DLL") #pragma comment(linker,"/ENTRY:DllMain") int Add(int a,int b) { return a+b; } int Sub(int a,int b) { return a-b; } Person::Person(char *name) { m_Name = name; }

 

编译链接,如下图:

2、调用dll中类

Main.cpp

[cpp]
  1. #include <iostream.h> 
  2. #include <stdio.h> 
  3. #include <windows.h> 
  4. #include "MyDll.h" 
  5. #pragma comment(lib,"MyDll.lib") 
  6. void main() 
  7.     int x=3; 
  8.     int y=9; 
  9.     int z=Add(x,y); 
  10.     printf("%d+%d=%d /r/n", x,y,z); 
  11.      
  12.     Person pt("123"); 
  13.     cout<<pt.m_Name<<endl; 
#include <iostream.h> #include <stdio.h> #include <windows.h> #include "MyDll.h" #pragma comment(lib,"MyDll.lib") void main() { int x=3; int y=9; int z=Add(x,y); printf("%d+%d=%d /r/n", x,y,z); Person pt("123"); cout<<pt.m_Name<<endl; }

 

编译链接,如下图:

 

 

from:

转载地址:http://vmjca.baihongyu.com/

你可能感兴趣的文章
linux如何查看CPU,内存,机器型号,网卡信息
查看>>
虚拟机克隆出现问题
查看>>
uitextfield对于中文输入的捕获
查看>>
Junos静态路由之discard和reject
查看>>
在 Spring Data Jpa 中使用逻辑删除需做的工作
查看>>
使用lemon测评系统进行Java竞赛测评
查看>>
sphinx学习(三)基本配置 index definition
查看>>
ListView中单击其中一项创建ContextMenu,如何获取该localBookList...
查看>>
网页多个对象动态刷新的实现
查看>>
java基础——2final不简单
查看>>
16进制整数转化成字符串
查看>>
这些年做LAMP的几点感悟——张东进
查看>>
git_git学习笔记
查看>>
查看QQ同时在线人数,分布
查看>>
MPFlipViewController
查看>>
发布一个库到CocoaPods
查看>>
java.util.Scanner
查看>>
开源 java CMS - FreeCMS2.6 数据库信息采集
查看>>
类和动态内存分配
查看>>
数组的全排列
查看>>