Windows平台下程序设计
Code::Blocks如果使用GCC编译器,那么Precompiled Header的支持是很容易的,官方Wiki上也有明确说明。下面要讨论的是VC9的预编译头文件如何在Code::Blocks上配置。
这里有官方论坛的一篇帖子,讲解了如何配置,虽然可用,但还是有一些问题:每修改一处,都要重新编译一次pch.obj,这会很浪费时间:http://forums.codeblocks.org/index.php/topic,3421.0.html
这里有官方论坛的一篇帖子,讲解了如何配置,虽然可用,但还是有一些问题:每修改一处,都要重新编译一次pch.obj,这会很浪费时间:http://forums.codeblocks.org/index.php/topic,3421.0.html
其实很早就想让Life++的安装必须要求管理员权限,但由于一些原因一直没实现。今天在更新Life++到2.2.3.1时总算完成了很长时间以来的想法。Life++2.2.3.1这个版本将强制休息前的提醒时间最小值设置为1秒:没设计为零的原因:代码更改很麻烦,怕影响稳定性。看来禁止锁前提醒功能只能放到3.x版本来实现了。
开始将项目转由SVN管理,包括正在开发的Life++ 3.x版本。自学编程有几年了,但进展缓慢,也浪费了很多时间。近期终于明白:项目交给SVN进行版本管理的好处!下面简要总结SVN的使用。以下操作全在命令行下进行且本机使用:我不喜欢图形界面。
前一段时间用thunk实现了Win32窗口的封装,但改用GCC编译器后,一大堆警告。才发现原来VC9的很多语法并非C++标准。好不容易才在GCC下编译成功,但程序运行崩溃!原因:不支持thunk,即thunk与编译器有关。
去掉thunk,改用map实现消息路由,代码如下:
去掉thunk,改用map实现消息路由,代码如下:
近期将boost使用到相应项目中,并且抛弃ATL/WTL的CString,以及wxWidgets的wxString,改用stl::string。为了支持ANSI/UNICODE两种编译方式,决定写一个类型定义的头文件,并封装在名字空间中,发现在VS中使用的感觉很好。特记录一下。
头文件分两部分。一部分是名字空间的别名定义;另一部分为类型定义。
头文件分两部分。一部分是名字空间的别名定义;另一部分为类型定义。




2008/12/03

