Dll 导出类 [示例代码]
1、Dll相关代码
MyDll.h
- #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;
- };
#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
- #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;
- }
#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
- #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;
- }
#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://blog.csdn.net/wangningyu/article/details/5467550
Dll 导出类 [示例代码]相关推荐
- dll的概念、dll导出类(转)
1. DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数.变量或类.这些可以直接拿来使用. 静态链接库与动态链接库的区别: (1)静态链接库与 ...
- asp.net导出excel示例代码
asp.net导出excel示例代码 asp.net导出excel的简单方法. excel的操作,最常用的就是导出和导入. 本例使用NPOI实现. 代码:/// <summary> ...
- C++dll导出类的方式__declspec(dllexport)
前言 有时导出dll的时候既想用到整个类又想保持多态 一.直接导出整个类 示例: 头文件 #ifdef AITWapper_EXP //根据项目是导入导出预定义 #define AITWapper_D ...
- DLL导出类和导出函数
from:https://blog.csdn.net/goodluckmt/article/details/52691297 1.动态库DLL中的类或者函数有时候要被其他的库调用,因此需要被其他库调用 ...
- c#调用C++写的dll导出类,如何实现
网上看了一些都是调用c++写函数能不能实现c#使用c++写的类各位高手请赐教 解决方案 » 类的有一个成员函数,是返回这个类的指针,那么在C#里面就是一个INTPTR,它是什么你不用管.然后C++文件 ...
- 关于通过dll导出类模板和函数模板
动态链接库中导出模板函数 C++ 支持函数模板,利用函数模板,可以简化我们的程序代码.我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译器会找不到 ...
- linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- java扫描包下类_实现获取扫描指定包路径下的jar文件或class文件JarPojoHandler类示例代码...
通过JarPojoHandler类实现了扫描指定路径下如何获取所有的JAR包或class文件,可以对特定class对象文件筛选过滤等,具体代码如下所示import java.io.File;@b@im ...
- 编写DLL所学所思(2)——导出类
2011.10.6 烛秋 一.导出类的简单方式 这种方式是比较简单的,同时也是不建议采用的不合适方式. 只需要在导出类加上__declspec(dllexport),就可以实现导出类.对象空间还是在使 ...
最新文章
- EntityFramework之领域驱动设计实践(十)(转)
- HTTPSConnectionPool(host=‘files.pythonhosted.org‘, port=443): Read timed out的解决方法
- crt python_SecureCRT Python
- android: 使用 AsyncTask
- exadata磁盘组无法mount恢复---惜分飞
- 集合均值(逆元+数学)
- c语言 函数的参数传递示例_C ++中带有示例的nearint()函数
- DBShop电子商务系统
- java的VIRT高的问题理解
- HMAC加密的消息摘要码
- Mac安装apktool/dex2jar/jd-gui逆向工具
- C#调用C++的DLL所有数据类型转换方式
- CSDN在线下载免费获取积分
- JS rgba颜色转16进制
- java 分布式序列号_分布式序列号生成?
- 松下服务器报警13参数修改,新版松下伺服发生故障报警代码一览及对策.doc
- 计算机统计字符数,怎么看word版本-Word文档中的字数和字符数是怎样统计的?
- CPA、CPS、CPC、CPM推广是什么意思
- CPU保护模式 分页表 描述符 段选择子
- linux sh文件执行情况,Linux下SH执行