wpcockroach

导航

2013年8月15日 #

BEGIN_TEMPLATE_MESSAGE_MAP

摘要: 最近转做服务端开发,或多或少有点坑爹的感觉。目前正在恶补Linux C/C++编程,主要还是集中在Linux系统API的学习。不过也好,以后更新的内容不仅仅只有Windows了。 今天说一点简单的东西,还是MFC的。不知道有多少人用过BEGIN_TEMPLATE_MESSAGE_MAP,没用过的可以 阅读全文

posted @ 2013-08-15 14:33 wpcockroach 阅读(1756) 评论(0) 推荐(0) 编辑

2013年7月9日 #

说一说vector<bool>

摘要: vector<T>标准库模版类应该是绝大多数c++程序员使用频率比较高的一个类了。不过vector<bool>也许就不那么被程序员所了解。关于vector<bool>不尝试研究一番,一般还不太容易知道其中蕴含的问题。 首先得明确一点,那就是vector<bool>是vector<T>的特化版。这个特 阅读全文

posted @ 2013-07-09 11:50 wpcockroach 阅读(21896) 评论(0) 推荐(1) 编辑

2013年7月2日 #

再议C++的性能

摘要: 最近在公司里的项目做的是性能优化,相关性能调优的经验总结也在前一篇文章里说了。这里再说一说和性能相关的东西。主要针对的是C++类库中常用的一些数据结构,比方说std::string、顺序容器(vector)、关联容器(std::unordered_set、unordered_map)等。 我们拿一道典型的面试题来作为本文分析的切入点。题目是这样的 (problem is from leetcode... 阅读全文

posted @ 2013-07-02 00:13 wpcockroach 阅读(1044) 评论(0) 推荐(0) 编辑

2013年6月6日 #

C++项目性能调优——基于VC6

摘要: 总结一下最近一段时间做性能优化的经验。项目介绍这是手头上正在做的一个产品,以C++和MFC为主要开发工具和环境。产品代码量至少60W行以上。目前这个产品在性能上和竞争对手的差距在逐渐增大,究其原因在于:产品陈旧,缺少必要的重构。该产品已经问世10年,在整个开发过程中,积累巨量的技术债并且因为各方面的原因没有进行过有计划的阶段性重构在架构上没有多线程的影子,I/O也是同步模式在如此长的生命周期中,需求已经发生了巨大的变化,很多老旧无用的代码没有及时剔除性能调优的方向运行时间的优化启动时间对常用操作的响应时间内存占用的优化内存泄漏长时间运行时内存占用量目前的进展情况启动时间缩减了大概500ms(测 阅读全文

posted @ 2013-06-06 21:59 wpcockroach 阅读(1473) 评论(0) 推荐(0) 编辑

2013年5月21日 #

Win32临时文件和CreateFile

摘要: 在Windows程序设计中,你迟早会遇到使用临时文件的时候。所谓临时文件,一个最简单的例子就是安装程序的安装日志。在程序运行过程中,如果没有发生任何的问题,完全可以在程序安装完成后,把日志文件删除。如果要自行设计和实现这逻辑方法也许有很多,比较典型的方法应该有两种:一种是通过CreateFile创建一个普通的文件(FILE_ATTRIBUTE_NORMAL),然后通过WriteFile写文件。如果... 阅读全文

posted @ 2013-05-21 23:58 wpcockroach 阅读(2831) 评论(0) 推荐(0) 编辑

2013年5月17日 #

基于Windows APC写一个简单的多线程并发库

摘要: Windows APC 首先我们要知道什么是APC。APC的全称是Asynchronous Procedure Call,异步过程调用。MSDN链接请猛击这里。用简短的话来总结就是: 每一个线程都有一个APC队列 APC分两种,分别是kernel-mode APC和user-mode APC 通过调 阅读全文

posted @ 2013-05-17 22:50 wpcockroach 阅读(2258) 评论(0) 推荐(0) 编辑

Test Word 2013 Blog Post

摘要: 用Word来写cnblogs。Head1NormalHead2QuoteHead3Head4Head5Head6Html preformatted???EmphasisStrongItemItemItem 1Item 2 该怎么插代码?该怎么插入代码?发strong发 阅读全文

posted @ 2013-05-17 00:56 wpcockroach 阅读(165) 评论(0) 推荐(0) 编辑

2013年5月15日 #

自定义消息中如果需要定义WPARAM和LPARAM,该怎么使用和分配?

摘要: 写Windows程序不可避免要使用自定义的消息,也就是从WM_USER开始定义的消息。在定义一个消息后,往往我们还要定义针对该消息的WPARAM甚至是LPARAM。WPARAM和LPARAM是什么,可以参考MSDN的SendMessage或者WindowProc。归结成一点就是对应消息的额外附带信息 阅读全文

posted @ 2013-05-15 16:07 wpcockroach 阅读(2206) 评论(0) 推荐(0) 编辑

2013年4月15日 #

GDI资源使用上需要注意的一点

摘要: Win32编程中GDI相关的东西肯定是每个程序员都要接触的东西,如果平时项目还是以MFC为基础的话,那就更不必说了。但是即便如此要用好GDI还是非常不容易的一件事情。 想必每个MFC的程序员可能都接触过CPPToolTip这个开源库工具,不得不说这是一个用起来很不错的tip工具类。但是要如何用好却也 阅读全文

posted @ 2013-04-15 23:50 wpcockroach 阅读(912) 评论(0) 推荐(0) 编辑

2013年1月29日 #

Concurrency vs. Parallelism: The Difference

摘要: 最近在看一些并行编程相关的内容,经常碰到两个单词:concurrency和parallelism。一直没有搞明白这两个词到底啥区别,总感觉是一样的。所以,google是必须的。不过不管是Stack Overflow还是其他搜索结果,个人总觉得说明得不够让人好理解。今天看书,算是看到一份个人觉得非常完 阅读全文

posted @ 2013-01-29 19:17 wpcockroach 阅读(920) 评论(5) 推荐(0) 编辑