C++ DLL导出类的一种方法(纯虚函数)
来源:互联网 发布:快意电梯营销网络 编辑:程序博客网 时间:2024/06/06 03:27
学习mysql时突然想玩玩dll就随便写了下。具体代码如下
纯虚函数定义如下(mysqldll.h)
#pragma once#ifdef MMYSQL_EXPORTS#define MMYSQL_API __declspec(dllimport)#else#define MMYSQL_API __declspec(dllexport)#endif#include "stdafx.h"#include <string>#include <mysql.h>#pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "libmysql.lib")class mmysql{public: virtual bool initConnection() = 0; virtual bool addData(char* username, char* password) = 0; virtual bool deleteData(char* username) = 0; virtual bool isExistUser(char* username) = 0; virtual bool isMatch(char* userName, char* passWord) = 0; virtual void Release() = 0;};extern "C" MMYSQL_API mmysql* _stdcall CreateMySqlObj();extern "C" MMYSQL_API void _stdcall DestroyMySqlObj(mmysql* pMmysql);
导出类定义如下(mysqlclass.h)
#pragma once#include "MySqlDll.h"class MMYSQL_API mysqlDLL : public mmysql{public: mysqlDLL(); mysqlDLL(std::string hosts, std::string user, std::string pswd, std::string table, int port); ~mysqlDLL();public: virtual bool initConnection(); virtual bool addData(char* username, char* password); virtual bool deleteData(char* username); virtual bool isExistUser(char* username); virtual bool isMatch(char* userName, char* passWord); virtual void Release() {}private: int _port; std::string _user; std::string _pswd; std::string _hosts; std::string _table; MYSQL _mySQL; bool _isConnection;};
.def文件如下
LIBRARY "ConsoleApplication4"(dll名称,自行更换)EXPORTSCreateExportObj @ 1DestroyExportObj @ 2
这里提供 CreateMySqlObj()和DestroyMySqlObj(mmysql* pMmysql)的定义:
MMYSQL_API mmysql* APIENTRY CreateMySqlObj(){ return new mysqlDLL;}MMYSQL_API void APIENTRY DestroyMySqlObj(mmysql* pMmysql){ pMmysql->Release();}
调用示例如下:
#include "stdafx.h"#include "MySqlDll.h"#pragma comment(lib, "../debug/ConsoleApplication4.lib")int main(){ mmysql* m = CreateMySqlObj(); m->initConnection(); m->addData("张三", "38459"); return 0;}
这里是学习mysql,随便学习一下dll的编写,本例调用是写入用户名和密码。测试成功。
阅读全文
0 0
- C++ DLL导出类的一种方法(纯虚函数)
- 用C/C++做DLL函数的导出方法
- 编程c++dll , DLL 的编写,导出函数 ,使用函数
- dll的概念 dll导出变量 函数 类 (转)
- DLL中导出函数的方法
- windows 查看DLL导出函数的方法
- DLL 函数导出的规则和方法
- 查看DLL导出函数的方法
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 深入浅出Dll( 函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 深入浅出Dll( 函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- C++ DLL导出函数的两种方法(导出序号那种方法,别人看不到函数名)
- C++ DLL导出函数的两种方法(导出序号那种方法,别人看不到函数名)
- C++ DLL导出函数的两种方法(导出序号那种方法,别人看不到函数名)
- c++ 纯虚函数导出
- python: copy库 与 list拷贝
- Diffie-Hellman密钥交换算法
- Java获取Properties文件中值的方法
- Java实战有感02
- Android activity生命周期----电源键关开
- C++ DLL导出类的一种方法(纯虚函数)
- 创建web服务器
- 读书计划
- Struts2拦截器总结学习
- 微服务:Eureka+Zuul+Ribbon+Feign+Hystrix构建微服务架构
- 终端
- Ubuntu16.04+Cuda8.0+OpenCV3.1.0+Caffe+Faster RCNN配置总结
- 浅谈HTML5离线缓存(Application Cache)
- iOS 11 SearchBar in NavigationBar