C++/MFC
文章平均质量分 65
guocongbin
这个作者很懒,什么都没留下…
展开
-
一个c++单元测试的小想法
???????? 在python中,每个模块都有一段自测试的代码,虽然不是强制的,但是推荐这样,我觉得这样很好???????? 这样每个模块都附带一个(或者多个)用例,方便别人验证???????? 而且我想:这样的技术在C++也是比较容易实现的!???????? //*.h file ???????? class declarations...???????? //*.cpp file原创 2004-08-11 14:49:00 · 1122 阅读 · 4 评论 -
CommonC++应用:写个计时器
Windows的API中有一个SetTimer可以用来帮助我们编写有关计时的程序。但是这个API有一个非常不合理的地方就是一定需要一个窗口的句柄。如果我们要开发一个没有GUI界面的程序,例如后台服务程序,那么就不能使用这个API。如果要自己实现这种定时的功能,就需要开辟一个新的线程,每过一段时间就检测一次,看看是否到了开始的时候设置的时间间隔。如果是,则调用一个用户函数。在CommonC+原创 2007-08-22 12:14:00 · 768 阅读 · 0 评论 -
基于策略的设计 vs 多继承
基于策略的设计是对多继承的超越。基于策略的设计(Policy Based Design)包含两个重要的部分:策略类(Policy-Classes)和一个具有极大张力的核心。许 多人在看基于策略的设计的时候,往往注意到了前者(策略类),注意到了正交分析的思想,却忽视了后者(核心)。这是因为策略类的思想较为容易接收,而且已 经存在很多类似的概念。于是乎很多人认为基于策略的设计是作者在炒原创 2007-08-22 12:11:00 · 791 阅读 · 1 评论 -
CommonC++ parse local xml file
Common C++的demo中有一个parse xml 文件的例子,但是这个例子在windows平台下,读取本地文件时候总是显示 xml 文件格式错误,这是因为这个例子中使用的类是从URLStream类和XMLStream类派生出来的,因此不适合读取本地文件。我们可以从stl 中的ifstream类和XMLStream类来编写一个分析本地xml文件的例子。具体的代码如下#include #inc原创 2007-08-22 12:07:00 · 740 阅读 · 0 评论 -
CommonC++ 应用之二:使用Get访问HTTP服务器
转自 guocongbin.blogspot.com// Copyright (C) 2001 Open Source Telecom Corporation.// // This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General转载 2006-12-05 13:22:00 · 1101 阅读 · 0 评论 -
CommonC++应用之一:使用POST访问HTTP服务器
转自 blogspot上面的blog // myurlfeth.cpp#include #include #include #ifdef CCXX_NAMESPACESusing namespace std;using namespace ost;#endifclass myURLStream : public URLStream{private:void httpHeader(const c转载 2006-12-05 13:14:00 · 886 阅读 · 0 评论 -
将列表形式的数据转换成为表格形式的小工具
这个工具名叫list2table,可以将如下的数据转换成为一个表格key=1value1=1key=2value2=2转换的表格形式如下:+===+======+======+|key|value1|value2|+===+======+======+|1 |1 | ||2 | |2 |+===+======+======+该工具拥有很多选项原创 2006-10-23 16:57:00 · 794 阅读 · 0 评论 -
自定义类型文件在vc中的语法高亮
如果您希望高亮自定义的关键字,可以在vc的安装目录,例如:E:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin下新建一个文件,名为usertype.dat,在该文件中添加您的自定义关键字,一字一行。重启vc后,您就可以发现这些自定义的关键字已经可以高亮。如果您希望自定义的关键字和c/c++中定义的关键字相区别,可以在too原创 2006-04-03 19:20:00 · 2133 阅读 · 0 评论 -
一个可以自动更新依赖关系的makefile
一般编译器都可以产生cpp文件和头文件之间的依赖关系,对于gcc可以使用如下的命令: gcc -MM sourcefile.cpp产生的结果可能如下: sourcefile.o: sourcefile.cpp header1.h header2.h利用这个功能,我们就可以编写一个可以自动更新依赖关系的makefile,具体如下:文件AutoMakeCore:# this file is原创 2005-09-10 22:54:00 · 1880 阅读 · 0 评论 -
c++中singleton模式的一种实现方法
#includeclass test{ static test* pInstance; protected:public: test() { if(!pInstance){ pInstance = 0; } printf("test init/n"); } void* operator new(unsigned int size) { if (!pInstance){ pIn原创 2005-03-10 18:11:00 · 957 阅读 · 0 评论 -
修改默认windows调试器的方法
修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/AeDebug下面的Debugger键的值,和键PreVisualStudio7Debugger的值一样就可以了原创 2004-10-17 23:03:00 · 958 阅读 · 0 评论 -
为多个类分配ID——Loki库的Typelist的一个小应用
假设你有若干个类,现在你希望给每个类分配一个唯一的ID。最简单的方法无非是手工的为这个类添加一个id,前提是你确信给这个类的id与其它类的id没有冲突,为此你需要查看其它所有类的代码。 稍微好一点的办法是使用GUID产生器产生的GUID,这样就可以保证每个类的id都是唯一的了。但是GUID128位的长度似乎又有一些浪费。 其实还有这样的一个思路:我们到一个地方将这些类进行注册,原创 2004-10-04 15:20:00 · 1179 阅读 · 0 评论 -
C++中,不同类的实例的序列化问题
假设编写一个图形编程程序,所有的图形类都有共同的父类Graphics。Graphics类中提供了进行序列化的接口Serialize()。 现在当用户使用该图形编辑器创建了多个图形对象(即创建了多个Graphics的子类的实例,这些实例可以通过一个chain of responsibility连接起来),并希望将该图形保存到一个文件里面。我们需要遍历该职责链,依次调用每原创 2004-10-03 17:37:00 · 420 阅读 · 0 评论 -
利用ANTLR生成C++描述的分析程序
摘要ANTLR(ANother Tool for Language Recognition)是一种基于LL(k)文法的语法分析程序(以下简称分析器)生成工具。其生成的分析器默认使用Java描述,而不是更高效的C++。本文介绍了在Windows平台下,借助VC6.0进行组织工程,使用ANTLR生成C++描述的分析器的方法,并给出了一个实例。最后,本文对ANTLR本身做出了一点小小的改进。关键字ANT原创 2004-09-27 13:22:00 · 3547 阅读 · 3 评论 -
windows下使用qt编程的一些问题
我下载了windows下qt的几个版本:qt-win-free-3.3.1,qt-win-free-msvc-3.3.1还有一个qt3.0.5msvc的eval版。那个eval的版本expired了,但是只有这个版本向vc的addin目录中添加了插件,其他的版本都没有.而且只有这个版本的带有assitant和designer,其它队版本都是没有gui工具的.安装qt之后好像必须先运行一下b原创 2004-08-15 20:56:00 · 2727 阅读 · 1 评论 -
修改antlr错误信息输出格式的方法
找到/antlr/DefaultFileLineFormatter.java,修改类DefaultFileLineFormatter的函数getFormatString().我将其修改如下,以适应vc的错误信息输出格式:package antlr;/* ANTLR Translator Generator?* Project led by Terence Parr at http://ww原创 2004-08-13 17:20:00 · 1322 阅读 · 1 评论