随笔-60  评论-98  文章-0  trackbacks-0
C++专栏
Visual Studio VS C++Builder07 不同的公司,同样的Bug      摘要: 结论:是两家的编译器在预编译的时候,不允许数值超过1G。  阅读全文
posted @ 2010-02-02 20:09 创建更好的解决方案 阅读(1847) | 评论 (9)  编辑
[初探Xerces系列]对外提供CLI      摘要: 应用程序的接口不外乎三种,CLI——命令行接口,API——应用编程接口和GUI。

因为现在有大把集成快速开发功能的IDE可供选择,因此GUI的实现变得非常的顺手。工具水平提高了,这看起来是理所当然的事情。其实呢?  阅读全文
posted @ 2009-05-20 10:12 创建更好的解决方案 阅读(1401) | 评论 (0)  编辑
[初探Xerces系列]目录结构也可以辅助提高代码可读性      摘要: 项目组曾经一度有过争论,认为目录层次过深,跨度过大(我们通常设置在3层以内),会降低编译效率。  阅读全文
posted @ 2009-05-19 17:23 创建更好的解决方案 阅读(1518) | 评论 (0)  编辑
[初探Xerces系列]xerces-c-3.0.1在CB07下编译不过的解决办法      摘要: 最近对XML解析器进行评估,除了正在用的MyXML之外,打算找多几个DOM, SAX的解析器对比一下。
先后也看了TinyXML和XercesC,本来打算看看Intel的,时间不允许,算了。
Xerces比较全面的了,有DOM也有SAX,就评估他好了,最近项目里面的xml文件越来越大了,My有点吃不消。
Apache.org下载下来的工程是CB6.0的,CB07升级工程,编译报错。  阅读全文
posted @ 2009-05-19 15:37 创建更好的解决方案 阅读(1650) | 评论 (0)  编辑
获取版本信息Version的完整代码(从msdn扩展而来)      摘要: ::GetFileVersionInfoSize(MyName.c_str(), &NoUse);
::GetFileVersionInfo(MyName.c_str(),NoUse,InfoSize,VersionInfo.get())) // 获取版本信息成功
::VerQueryValue(VersionInfo.get(), "\\VarFileInfo\\Translation", (LPVOID *)&lpTranslate, &ValueLen))
Step by Step  阅读全文
posted @ 2009-02-05 19:24 创建更好的解决方案 阅读(5358) | 评论 (4)  编辑
初始化const, static, const static, static const成员变量      摘要: 初始化const, static, const static, static const成员变量  阅读全文
posted @ 2009-01-10 15:29 创建更好的解决方案 阅读(6894) | 评论 (3)  编辑
BCB的两个问题
posted @ 2008-09-22 18:49 创建更好的解决方案 阅读(335) | 评论 (0)  编辑
狗,哈士奇,跳蚤,继承,聚合,UpCast和DownCast      摘要: 验证了结果是:指向子类对象的父类指针,在做DownCast时,不会因为自身是父类指针而使DownCast出的子类对象指针发生缺失,连一只虱子、跳蚤都不会少。  阅读全文
posted @ 2008-09-20 11:22 创建更好的解决方案 阅读(1471) | 评论 (2)  编辑
重构故事——Chapter03      摘要: A计划1:平台版本在v2.1版本基础上进行迁移,逐个模块改造,平台1.0版本,在业务分支3.0版本之前发布,在3.x版本与其他业务版本结合;
B计划1:平台版本不再单独演进,将现在的平台技术应用到即将发布的3.0版本中。包括插件结构、动态加载、动态激活,3.0版本中的业务模块一律按照插件规范开发。
// ---------------------------------------------------------------
A计划2:CCB管理配置文件,规范插件对主界面的配置。
B计划2:必须为界面配置文件准备替代方案,防止因为配置文件损坏造成的程序加载失败。  阅读全文
posted @ 2008-08-25 16:14 创建更好的解决方案 阅读(1178) | 评论 (0)  编辑
重构故事——Chapter02      摘要: 很多模块都需要在工程打开之时,获取一定的信息,比如工程是新建的还是打开的,临时目录在哪里,工程目录又在哪里。
工程管理模块就像个奶妈,把一系列的信息从XML文件或者从用户刚刚输入的信息都进来,然后再一个个的去NotifyProjectOpen。工程关闭之时在挨个通知他们要关灯了,NotifyProjectClose。怪不得耦合度高啊,全是被动式初始化,能不高吗?  阅读全文
posted @ 2008-08-14 17:47 创建更好的解决方案 阅读(1132) | 评论 (0)  编辑
重构故事——Chapter01      摘要: 比较头痛的是:原来在工程管理器中一系列的通知机制的修改,神秘的GIS模块,还有混乱不堪的数据库抽象层。按照Eclipse中对插件式的描述,这些插件不但作为插头插在别的插口上,还对外提供插口。  阅读全文
posted @ 2008-08-07 20:17 创建更好的解决方案 阅读(1371) | 评论 (3)  编辑
数值转换的想当然
posted @ 2008-07-30 17:58 创建更好的解决方案 阅读(307) | 评论 (1)  编辑
C++ Builder实现可配置界面中遇到的问题【2、问题解决】      摘要: 类数量不变,因为经过分析,是因为在exe和dll之间传递VCL特有数据类型所致。  阅读全文
posted @ 2008-07-16 15:19 创建更好的解决方案 阅读(1061) | 评论 (0)  编辑
C++ Builder实现可配置界面中遇到的问题【1、问题出现】      摘要: 提供一个可配置的界面,供DLL们来注册菜单、按钮这些界面元素,界面元素所需的资源由DLL提供。DLL们需要外显的方法,绑定到自己注册的界面元素上。  阅读全文
posted @ 2008-07-15 12:11 创建更好的解决方案 阅读(1168) | 评论 (0)  编辑
C++关键字:mutable、volatile、explicit以及__based      摘要: C++关键字:mutable、volatile、explicit以及__based  阅读全文
posted @ 2008-04-09 10:13 创建更好的解决方案 阅读(12322) | 评论 (4)  编辑

Full C++专栏 Archive