每日一贴,今天的内容关键字为实现接口

每日一道理
美丽是平凡的,平凡得让你感觉不到她的存在;美丽是平淡的,平淡得只剩下温馨的回忆;美丽又是平静的,平静得只有你费尽心思才能激起她的涟漪。
// Service.h, DLL定义(供实现方、调用方使用)#ifdef SERVICE_EXPORTS#define SERVICE_API extern "C" __declspec(dllexport)
#else#define SERVICE_API//#define SERVICE_API extern "C" __declspec(dllimport)
#endifinterface IService
{
public:IService() {}virtual ~IService() {}public:virtual void Start() = 0;virtual void Stop() = 0;
};typedef IService *(*CreateInstance_t)();
typedef void (*DestroyInstance_t)(IService *pInst);SERVICE_API IService *CreateInstance();
SERVICE_API void DestroyInstance(IService *pInst);// Service.cpp, DLL实现#include "Service.h"
class CService : public IService
{
public:CService();virtual ~CService();public:virtual void Start();virtual void Stop();private://.....
};CService::CService()
{
}CService::~CService()
{
}void CService::Start()
{
}void CService::Stop()
{
}IService *CreateInstance()
{return new CService();
}void DestroyInstance(IService *pInst)
{if (!pInst) return;delete pInst;
}SERVICE_API HRESULT WINAPI DllRegisterServer()
{//CMD> regsvr32.exe Service.dll 时须要执行的安装代码return S_OK;
}SERVICE_API HRESULT WINAPI DllUnregisterServer()
{//CMD> regsvr32.exe /u Service.dll 时须要执行的卸载代码return S_OK;
}// Demo.cpp, DLL调用#include "Service.h"
int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{HMODULE hDll = LoadLibraryA("Service.dll");if (hDll){CreateInstance_t pfnCreateInstance =(CreateInstance_t)GetProcAddress(hDll, "CreateInstance");DestroyInstance_t pfnDestroyInstance =(DestroyInstance_t)GetProcAddress(hDll, "DestroyInstance");if (pfnCreateInstance && pfnDestroyInstance){IService *pInst = pfnCreateInstance();if (pInst){pInst->Start();pInst->Stop();pfnDestroyInstance(pInst);}}FreeLibrary(hDll);}return 0;
}

文章结束给大家分享下程序员的一些笑话语录: 《诺基亚投资手机浏览器UCWEB,资金不详或控股》杯具了,好不容易养大的闺女嫁外国。(心疼是你养的吗?中国创业型公司创业初期哪个从国有银行贷到过钱?)

--------------------------------- 原创文章 By
实现和接口
---------------------------------

实现接口一种可靠的 DLL 接口实现方案相关推荐

  1. vector 作为dll 接口参数_DLL中传递STL参数,vector对象作为dll参数传递等问题(转)...

    STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下面是详细解释. 原因分析:一句话-----如果 ...

  2. cmd 调用webservice接口_c# 三种方法调用WebService接口

    1.引用*.wsdl文件 WebService服务端会提供wsdl文件,客户端通过该文件生成.cs文件以及生成.dll. 注意:若服务端只提供的了URL,在URL后面加上"?wsdl&quo ...

  3. 微信3.1.0.41逆向-微信3.1.0.41HOOK接口(WeChatHelper3.1.0.41.dll)使用说明

    为了节省微信HOOK开发时间,现将微信HOOK注入DLL接口给大家,本接口从3.0.0.47版本开始,最新版本3.1.0.41,后续会根据自己的时间升级,本接口用vc++2017编写,Win32编译, ...

  4. 如何设计安全可靠的开放接口---之Token

    文章目录 [如何设计安全可靠的开放接口]系列 前言 一.Token机制 1. Token生成 2. Session存在的问题 3. JWT是如何解决Session存在的问题的 二.JWT中的数据结构 ...

  5. 如何设计安全可靠的开放接口---之AppId、AppSecret

    文章目录 [如何设计安全可靠的开放接口]系列 前言 AppId的使用 AppId的生成 AppSecret生成 总结 [如何设计安全可靠的开放接口]系列 1. 如何设计安全可靠的开放接口-之Token ...

  6. java扫描接口_一种扫描接口并生成可调用API接口文档的方法与流程

    本发明属于JavaWeb开发技术领域,涉及一种API接口文档的生成方法,尤其是一种扫描接口并生成可调用API接口文档的方法. 背景技术: API(Application Programming Int ...

  7. 如何设计安全可靠的开放接口---对请求参加密保护

    文章目录 [如何设计安全可靠的开放接口]系列 前言 AES加解密 代码实现 [如何设计安全可靠的开放接口]系列 1. 如何设计安全可靠的开放接口-之Token 2. 如何设计安全可靠的开放接口-之Ap ...

  8. 如何设计安全可靠的开放接口---之签名(sign)

    文章目录 [如何设计安全可靠的开放接口]系列 前言 一.前置知识 二.签名的作用 1. 数据防篡改 2. 身份防冒充 三.流程说明 前置准备 交互流程 接口请求方 接口提供方 完整代码补充 总结 [如 ...

  9. Android硬件扩展接口有哪些,一种安卓智能设备USB接口拓展的方法及装置与流程...

    本发明涉及安卓智能设备技术领域,特别是涉及一种安卓智能设备USB接口拓展的方法及装置. 背景技术: 安卓是一种以Linux为基础的开放源码操作系统,2007年正式推出后,在短短几年时间内得到了广泛的应 ...

最新文章

  1. 用mysql做文本挖掘_手把手教你做文本挖掘
  2. 6、图书类别修改删除功能
  3. 干货!请码住——点此领取免费开源框架
  4. saltstack自动化运维系列②之saltstack的数据系统
  5. (篇七)输入任意个数字,输出最大值最小值,且进行排序排序
  6. 微信小程序API之showModal(Loding...)
  7. c语言C的ascii码是多少,c的ascii码值是多少
  8. NO JVM installation found. please install a 64-bit JDK,解决方法   Error launching android studio   NO J
  9. 恶梦----------需求分析的漫延
  10. c++自定义函数简单介绍
  11. TM1637驱动4位时钟数码管的Arduino 程序
  12. 二叉树面试题:前中序求后序、中后序求前序
  13. 存储需求大幅增长,企业如何应对挑战?
  14. 七夕专栏:看看大家都在干什么,对微博七夕超话的爬取
  15. MDK上使用 ULINK2设备上的SW调试 实现STM32 的 trace功能 (一)
  16. 长三角如何成为人才净流入最高的城市群?
  17. springboot 数据对比 差异提取
  18. FreeLine 踩坑记录
  19. 软件开发项目管理中的依赖关系
  20. C++ Primer Plus习题及答案-第十五章

热门文章

  1. redhat7.4安装神通数据库
  2. python程序狮,编程狮app下载
  3. 福州大学java期末试卷2012_福州大学 07Java语言程序设计试卷(A卷).doc
  4. 数字化在金融领域的应用与实践,从“我觉得”到“用户觉得”
  5. 重磅!深入调研证券行业,神策数据发布《财富管理数字化转型现状与趋势洞察》报告...
  6. 神策 FM | CEO 荐书—《斯坦福商业决策课》
  7. 二维数组的查找,刷题成功——剑指Offer
  8. 在Linux/Centos下用wondershaper限速
  9. arguments小结
  10. java真的是值传递么?