
C/C++
freelancer_ex
这个作者很懒,什么都没留下…
展开
-
两个自定义宏
空闲时写了一些基本代码,方便日后使用,这里列了两个。一个给类加了点信息,一个实现了一个简单的iterator模式。1、有时候会想知道一个class的类名和类型,通过这个宏可以获得。#define DECLARE_CLASS(_class_type) \public:: \typedef _class_type class_type;\static const TCHAR原创 2012-07-17 19:56:15 · 708 阅读 · 0 评论 -
一个实现了iterator模式的简单模板类
最近的代码常常需要把将数据保存在容器里,譬如对应一个数据库表的内存类。为此写了一个简单的模板类,依靠容器实现了iterator模式。template class TObjects{public:typedef _container_type container_type; DECLARE_ITERATOR(typename container_type);NO_原创 2012-07-27 13:07:14 · 963 阅读 · 0 评论 -
资源:ace6.0和xmlrpc++0.7
ace6.0是ace新版。已经上传。 http://download.youkuaiyun.com/detail/dajjnan/4498655ACE书上给了2个下载地址,不过第一个貌似不能用了,可以去另一个下载:http://www.riverace.com/downloads.htmxmlrpc++是rpc的一种xml实现,用于异构平台,可以去sourceforge下原创 2012-08-14 13:24:47 · 625 阅读 · 0 评论 -
ACE学习笔记(三)
一边看《C++网络编程卷2》的ACE_Task一边做点笔记。书上提到了个Active Object模式。ACE_Task启动了一组线程,它们共用一个线程函数,而在这个线程函数里,调用了ACE_Task::svc().代码很容易理解。网上找了个Active Object的定义:1、构造一个命令(实现Command模式的一个命令)ACE中就是一个ACE_Message_Block2、将该命原创 2012-08-15 15:58:46 · 1709 阅读 · 0 评论 -
一个API拦截的例子
闲来无事,做一个API拦截的简单程序,目标是拦截exploer.exe的CreateProcess.当打开桌面程序时,执行自定义的代码。首先需要确认的是,explorer.exe创建进程是用了什么函数,创建进程自然想到用CreateProcess(CreateProcessA,CreateProcessW).这里我拦截的是CreateProcessW。执行以下命令:dumpbin原创 2012-09-05 07:58:23 · 792 阅读 · 0 评论 -
Imperfect C++ 编译期约束 must_have_base
《Imperfect C++》中的一个约束的例子,must_have_base,程序清单如下: template struct must_have_base { ~must_have_base() { void(*p)(D*,B*) = constraints;原创 2013-05-23 17:02:46 · 818 阅读 · 0 评论