摘要:
接上一篇《C++模板实现事件处理器中的“通用成员函数指针”的调用(一)》
上一篇的最后,好像缺了点东西,呵呵,看来我还得给他补上。您有没有发现FuncItem有点问题吗?谁来给成员handler赋值呢?交给构造函数吧,改造后的FuncItem如下: 阅读全文
摘要:
我最近在实现一个事件处理器,应用到了一种“通用成员函数指针的注册”,先声明,这个名词是我给起的,不过我觉得并不充分恰当,但也想不出什么更好的词,看完下面的介绍,也考考您,看这玩意叫个啥比较合适。
先说需求:这个事件处理器需要在捕获一个事件后,调用已注册的处理函数。看起来很普通,呵呵,不过,这个事件处理函数不一定是哪个类的成员函数(但肯定是成员函数),函数的形式是一定的,即拥有相同的返回类型和参数列表。而这些事件和处理函数,注册在一个全局的结构体中。 阅读全文
摘要:
我是做Linux下服务器开发的,参与的项目都是在已经应用的代码上再开发新的功能。暂且放下什么代码清晰、注释清楚这一类老人的教诲,来看看这些项目中打印的日志。至于为什么要定个原则再打日志,估计很多人心里也有数,但是,具体要定个什么样的原则呢?暂且看看在我的项目中这些让人头疼的日志。 阅读全文
摘要:
囍 哈哈,让我们试一下,首先确定自己在英文输入法模式下,现在按住键盘的Alt键别松开,然后连续输入821206,现在松开刚才被按下的Alt键,看看屏幕上出现了什么?是不是“囍”字?很有意思吧? 阅读全文
摘要:
使用VC下的cl和link手工创建dll并实现函数导入1、创建dll头文件:/* * dllmain.h */#ifndef _DLLMAIN_H#define _DLLMAIN_Hint getNumber();#endif2、创建dll源文件:/* * dllmain.c */#include "dllmain.h"int getNumber(){ return 10;}3、 创建def文... 阅读全文
摘要:
使用VC下的cl和link手工创建dll并实现函数导入1、创建dll头文件:/* * dllmain.h */#ifndef _DLLMAIN_H#define _DLLMAIN_Hint getNumber();#endif2、创建dll源文件:/* * dllmain.c */#include "dllmain.h"int getNumber(){ return 10;}3、 创建def文... 阅读全文
摘要:
[win32汇编框架 masm ].386.model flat,stdcalloption casemap:none includelib D:\RadASM\masm32\lib\msvcrt.libprintf proto c :ptr dword,:varargpublic start.datastrs db 'Hello.asdfasdfasdf',0h.codestart:mov ... 阅读全文
摘要:
[win32汇编框架 masm ].386.model flat,stdcalloption casemap:none includelib D:\RadASM\masm32\lib\msvcrt.libprintf proto c :ptr dword,:varargpublic start.datastrs db 'Hello.asdfasdfasdf',0h.codestart:mov ... 阅读全文
摘要:
以下内容节选自:http://blog.vckbase.com/arong/archive/2004/06/09/409.aspx?Pending=true#Post......stdcall调用约定stdcall很多时候被称为pascal调用约定,因为pascal是早期很常见的一种教学用计算机程序设计语言,其语法严谨,使用的函数调用约定就是stdcall。在Microsoft C++系列的C/C... 阅读全文
摘要:
以下内容节选自:http://blog.vckbase.com/arong/archive/2004/06/09/409.aspx?Pending=true#Post......stdcall调用约定stdcall很多时候被称为pascal调用约定,因为pascal是早期很常见的一种教学用计算机程序设计语言,其语法严谨,使用的函数调用约定就是stdcall。在Microsoft C++系列的C/C... 阅读全文