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),就可以实现导出类.对象空间还是在使 ...
最新文章
- C#后台获取数据库数据--ADO.NET
- Oracle数据库实用脚本
- 小余学调度:学习记录(2021.10月)
- JavaFx实现-渐变效果之一
- php仿伊人集源码,仿伊人集wecenter()包含所有功能及官方付费插件,整站带数据...
- 小红书点赞收藏有什么用_橱柜门用什么材料好?老师傅开口说话了!听进去算你的,收藏备用...
- java.nio教程_Java NIO系列教程(三) Buffer
- python盒中取球_在Python中找到占据给定球的盒子的位置
- “安装程序无法定位现有系统分区,也无法创建新的系统分区”提示
- 中国速度袋行业市场供需与战略研究报告
- c语言入门程序下载,c语言入门自学软件下载
- 2019最新某私塾在线高级java软件架构师实战培训教程
- Java计算机毕业设计树木交易平台源码+系统+数据库+lw文档
- 中兴交换机配置telnet连接_锐捷核心三层交换机配置入门教程,适合新手小白
- OSChina 周六乱弹 —— 正负能量交锋,谁是赢家?
- 毕业设计---基于人脸识别的Web端考勤系统
- 【期货龙虎榜量价分析】红枣PVC创新高,多空大幅增仓博弈激烈
- 02: 实现发布帖子功能
- 大学计算机课试题答案,大学计算机基础试题及答案课件.doc
- delphi的connection closed Gracefully错误
热门文章
- 1/2 数据获取:本地数据的获取
- Struts2自己定义拦截器实例—登陆权限验证
- linux 空间不够了,怎么办?Disk Requirements:At least 11MB more space needed on the / filesystem....
- Flex4/Flash多文件上传(带进度条)实例分享
- aspnetpager的使用(完美篇)
- CVE-2019-0708复现
- java enumset_java.util.EnumSet.allOf()方法和实例的学习
- git 回退远端master分支版本
- .attr()与.removeAttr()
- Centos 7或者说linux 怎么一直运行一个项目,自己退出终端也在运行