摘要: 关于extern_C 通常,在C语言的头文件中经常可以看到类似下面这种形式的代码 1 2 3 4 5 6 7 8 9 10 11 12 那么,这种写法什么用呢?实际上,这是为了让CPP能够与C接口而采用的一种语法形式。之所以采用这种方式,是因为两种语言之间的一些差异所导致的。由于CPP支持多态性,也 阅读全文
posted @ 2018-06-02 10:34 onewayheaven 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 本技术备忘录介绍MFC “模块状态”结构的实现。充分理解模块状态这个概念对于在DLL中使用MFC的共享动态库是十分重要的。 MFC的状态信息分为三种:全局模块状态数据、进程局部状态数据和线程局部状态数据。有时这些数据类型之间没有严格界限,例如MFC的句柄表既是全局模块状态数据也属于线程局部状态数据。 阅读全文
posted @ 2018-05-16 21:54 onewayheaven 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?没错,我也知道这将会使构造函数成为私有的,这意味着什么? 我们知道,当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的 阅读全文
posted @ 2018-05-09 17:06 onewayheaven 阅读(6519) 评论(0) 推荐(3) 编辑
摘要: 一直在鼓捣DLL,每天的工作都是调试一个一个的DLL,往DLL里面添加自己的代码,但是对于DLL一直不太了解啊!今天一查资料,才发现自己对于DLL编写的一些基本知识也不了解。要学习,这篇文章先总结DLL的导出函数的方法。 1. 首先说一下如何建立一个普通的DLL工程!(以VS2008为例) New 阅读全文
posted @ 2018-05-09 10:49 onewayheaven 阅读(3103) 评论(1) 推荐(1) 编辑
摘要: 写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE (AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废 话。 最近的项目中,需要在DL 阅读全文
posted @ 2018-05-09 10:14 onewayheaven 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 前段时间编程时遇到过这么一个问题,我写了一个DLL,把里面的一个函数导出来,然后再定义一个签名与其匹配的函数指针,动态地把这个DLL加载起来(LoadLibrary),得到函数指针后,一调用,结果报错了,错误如下: Run-Time Check Failure #0 - The value of E 阅读全文
posted @ 2018-05-08 11:24 onewayheaven 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 两者的主要区别: CStdioFile 构造函数 编辑 CStdioFile(); CStdioFile( CAtlTransactionManager* pTM); CStdioFile( FILE* pOpenStream );//参数指的是c运行函数fopen调用后返回的文件指针。 CStdi 阅读全文
posted @ 2018-03-23 21:31 onewayheaven 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 1、在项目的属性中配置Debug,设置调试选项卡中的“命令”、“命令参数”、“工作目录”,“命令”为IE的路径,“命令参数”为自己写的htm页面路径(因htm中未配置ocx路径,所以直接把htm放在了Debug目录中) 2、按“F5”开始调试。 如果遇到“ 无法找到“iexplore.exe”的调试 阅读全文
posted @ 2018-03-13 13:17 onewayheaven 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 1. FindWindow() HWND FindWindow(LPCSTR lpClassName, LPCSTR lpWindowName); 功能:查找与指定窗口类名和窗口名称相匹配的顶级窗口,这个函数不搜索子窗口。 参数:如果lpClassName为null,将会寻找任何与lpWindowN 阅读全文
posted @ 2018-03-03 16:41 onewayheaven 阅读(569) 评论(0) 推荐(0) 编辑
摘要: WINDOWS内核对象 一.前言 Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象。内核对象是系统地址空间中的一个内存块,由系统创建并维护。内核对象为内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象。 二.内核对象结构 每个对象都有 阅读全文
posted @ 2018-03-03 15:17 onewayheaven 阅读(1569) 评论(0) 推荐(0) 编辑