- 博客(64)
- 收藏
- 关注
原创 在csdn.net的最后一篇博文
主要是因为对csdn.net的网速和大量bug不满,决定离开csdn.net,另外开博,地址已经搞好了,剩下就是回顾自己的文章,重新编辑,发布到新的博客上去:www.cppblog.com/guogangj,前面写的那两篇文章的后续,暂时被打断了,过阵子好了我就发布到新的博客上去,这里就这样over,正好开了3年,藉此谢谢各位关注本人博客的朋友。 本来还写了满满的一大堆文字,但考虑到太过“
2009-03-30 21:04:00
2498
1
原创 国际化困境(第二篇)
难得我写系列文章,我的作风更偏向于一鼓作气。(那接下去怎么说?再而衰,三而竭……希望不是这样,呵呵……)七、OEM与ANSI的转换好,接上次,上次讲到OEM和ANSI,在文章后面我还给出一张所谓“全图”,当然,只针对两个code page的0x80到0xFF的字符,一个是437,可以认为是英文版的OEM code page,一个是1252,可认为是英文版的ANSI code page,我还说了,一
2009-03-23 20:00:00
2687
1
原创 国际化困境(第一篇)
(和我前一篇文章一样,这篇文章也需要读者动手写些程序,参与其中,实验过程可能需要反复重启电脑,另外最好准备一套英文Windows系统,哦,如果再有一套Windows Vista英文版,那再好不过,总之就是实验环境越丰富越好) 当我写下这个标题的时候,我就觉得我可能错了,但我之前又一直很想写这么一个subject,如今看看,确实有些硬着头皮写的感觉。 这是一个相当大相当大的论题,我不
2009-03-20 20:00:00
2555
原创 An UI puzzle - Create a dialog in a thread.
Recently, I am in charge of a project. It has a function similar to the other programs, that is saving data to a file and load data from a file. But the saving and loading process may take quite a few
2009-03-09 10:54:00
1670
4
原创 这些日子……
今天是2009年2月13日,明天就是著名的擒人节,当然我写这篇文章并不是讲述我要怎么去施展擒拿手……最近确实有些忙,年前年后,东西有些做不完的样子,但我总不能让项目停滞不前,更不能让项目失败,所以就硬着头皮加班加点干了,博客都没怎么更新,估计要写技术文章也来不及整理,但我确实想写点什么东西,因为今天我想起来,我已经突破了我的最长工作记录,是的,就是在这个公司呆的时间是我呆过的所有公司中最长的。
2009-02-13 20:17:00
1600
3
原创 窗口分析
(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++、Windows编程及MFC经验,还得有一定动手能力。文中可能出现一些术语不统一的现象,比如“子窗口”,有时候我写作“child window”,有时候写作“child”,我想应该不会有太大影响,文章太长,不一一更正了)问题开始于我的最近的一次开发经历,我打算把程序的一部分界面放在
2008-12-06 17:04:00
13001
33
转载 转载孟岩为《代码之美》写的序言中的两段话
前几天大概翻了一下《代码之美》,内容没有太仔细看,只觉得自己和大师们确实还不在同一档次,给我留下深刻印象的是孟岩写的序言中的两段文字,转来博客与道友们一块儿分享。……“整合化”趋势实际上已经深刻地改变了世界软件工业的面貌,从而也影响了身为晚进者的我们的命运。如今大部分的程序员实际上是在整合与配置现有资源以满足需求,而不是真正意义上的“编程”。这当然是一件好事,整合同样需要深刻的洞察力和创新精神
2008-12-03 17:13:00
1737
2
原创 C++编程可能会忽视的一个“小问题”
又好久没写blog了,最近一直忙工作的事情,倒不是说没时间,而是没什么心思整理思路,这篇文章也不是什么大不了的文章,但确实是我最近遇到的一个问题,我在调试一个程序的时候时不时出现一些莫名其妙的问题,这些问题也就是那种无规律重现的非常棘手的bug,相信做过开发的人都深有体会。当然我最后是fix了这些bug,对我这种高手而言,没什么修不了的错误,(哈哈)要的只是时间而已,但从中发现了一个C++编程
2008-11-18 22:38:00
1523
1
原创 Windows Vista 短处之我见
安装Windows Vista(以下简称Vista)将近1个月,令人激动的地方不多,令人郁闷之处却不少,我就抽取其中几点我感受最深的来说说。 一、无穷无尽的兼容性 我前阵子看了篇报道,说在国外很多购买了Vista的用户要求退货,因为在Vista平台上没法正常运行他们的软件,他们要求装回Windows XP(以下简称XP),这个问题,我感受同样深刻。微软公司实力强大,一直以来兼容性也
2008-10-03 20:20:00
1458
3
原创 闲谈“盗版”
我的电脑大概有两年没重装系统了,自己也很少很少再光顾盗版碟的摊子,对“番茄花园”不是很熟,也从未在自己的电脑上装过,不过大约一年前吧,在公司装过一次,有人看到这里就想笑了:“原来你们公司用的也是盗版嘛。”其实不是,公司的电脑都是品牌机,买回来就有正版os的,以前买的是DELL,后来换成Lenovo,顺便提提Lenovo的质量,实在令人抓狂,我们小小的software部门新购入的3台Lenovo T
2008-08-25 21:49:00
1586
7
原创 开发者谈测试
此文是应一位密友之约写的,我并不是专业测试人员,做过的测试也不多,但此文还是值得一看,因为我最不愿意干的事情就是写那些让人看了入睡的文章,所以你可以把本文当作一篇散文,听我这个落魄的开发者谈谈自己的经历和感受。周正龙:我的虎照没有任何bug。网民:没有?我看颜色就不对。周正龙:有什么不对?我用两部相机拍的呢。网民:角度也很怪异。周正龙:我冒着生命危险拍出来的。网民:怎么老虎一动不动?周正龙:保
2008-08-08 00:12:00
1523
原创 将FILE*传入DLL……
最近还是没有什么好的题目,这篇文章也是炒炒冷饭。这是大约两年前的事情了,当时我在做一个文件分析系统,要对很多文件类型进行判定,文件类型的判定千差万别,为了保证其灵活性,我打算使用DLL,增加一种新的文件,如果不能简单地根据字节位判断,那就新增一种DLL。那么是由exe打开文件呢?还是由DLL打开文件呢?我想了一下,从效率和防止代码冗余上考虑,还是由exe打开文件比较好,接下去就简单了,给每
2008-07-29 17:21:00
1351
1
原创 思维,杂谈
又一个月没写什么东西了。最近天气一直不好,或者说,一直不怎么正常,7月份了,才有点夏天的味道,实在反常。今年中国多灾多难,天灾人祸都一起来了,但有时候我很难区分哪些是天灾,哪些是人祸,也许这就是造物主的意愿——留下一些问题让我等凡人去思考。6月是股市持续下降的一个月,降印花税救市的行径果然撑不起一个熊市,然而赌红了眼的股民还是瞪着这红红绿绿的曲线和数字,指望能够翻盘,网上各大论坛,谁要是唱
2008-07-04 13:31:00
1045
1
原创 任务失败:构建精简界面类库
提起用VC++开发Windows程序,就一定少不了提起MFC,MFC已经足够应付大多的情况了,但坦白说我不喜欢MFC,因为其臃肿和不够高效,所以很多时候我都是直接用Win32 API来编写我的应用程序,显而易见,这个是很有难度的,主要的难度也许你已经知道了,就是界面的编写。 现在我们来回顾一下,如何用MFC写界面,要创建一个button,大致可以这样:CButton btn;b
2008-05-29 15:39:00
1712
4
原创 发布Gornix Synchronizer
断断续续写了两三个月(貌似吧),终于写得有个样子了,经过了一阵子的测试,打算发布这个“最初版本”,并check in svn。所以此文读者正好赶上了我的“新闻发布会”。 程序主界面:背景 很早很早以前,我的电脑中了一次攻击,所有分区丢失,那个叫惨啊,什么数据都没了,幸亏IT我还懂一点,后来我使尽了九牛二虎之力把除了C盘外的分区全部挽救了回来,C盘的部分数据也得以
2008-04-23 20:55:00
1318
4
原创 “这是用什么写的?”
近日得一小工具——PEid,可以用来查看PE文件的一些信息,其中有个信息我们开发者比较关心,就是这个PE文件是用什么工具生成的。大家如果感兴趣,就到网上去down一个PEid,然后看看自己的常用软件都是用些什么工具写的。下面我就列一列我的情况: UltraEdit V10.x
2008-04-18 10:04:00
4283
2
原创 dll占的究竟是谁的空间?——浅谈Windows内存机制
近来工作比较空闲,所以就上csdn.net看看帖子什么的,两个多月前,我在VC/MFC板块中发了这么一个帖子:dll占的究竟是谁的空间?详细参考: http://topic.csdn.net/u/20080123/16/310330cd-e262-4534-b8c8-9bff892c7f21.html 关于这个帖子,我后面作了个总结,意思是说:dll占用的空间不属于某一个调用它的进
2008-04-08 17:00:00
11327
5
原创 VC6和VC2005的一点不同
已经是3月19日了,突然想到自己3月份还未曾发表一篇文章,于是想写点什么东西,技术含量高的文章一时也写不出,于是打算拿一些Skills或者Tips类的文章来凑凑数,这篇文章属于此列。 最近写了一个程序,给公司的仪器使用的,完成后我把代码放在svn中,Firmware组的Manager似乎对此代码比较感兴趣,就checkout了一份,几天后他告诉我在VC2005下编译有问题,我觉得奇怪,我写
2008-03-19 16:43:00
2921
5
原创 标题栏问号按钮帮助功能的实现
对下面这样的界面我们一定很熟悉,一个对话框,右上角有两个按钮,一个是小问号(我称之“问号按钮”),一个是叉(关闭按钮),点一下问号按钮,鼠标光标通常就变成了一个带问号的箭头,用这个光标点击一下对话框里的元素,就能弹出一个简要的帮助说明。这个功能我十分喜欢,因为它很直观,简单,不用查询繁琐的帮助文档去寻找答案。从事软件开发之后,我写过很多程序,很多都有用户界面的,却一般都没有实现这个
2008-02-20 10:40:00
5303
3
原创 我发现的第一个Microsoft的错别字
过完年了,其实放假9天说过去也快,晃一晃就没了。这次发表的文章很轻松,没什么技术含量,供大伙们娱乐用。记得小时候我看的书经常出现错别字,但确实有一本书一直没被我发现错别字,那就是《新华字典》,我问老师为什么《新华字典》没有错别字,老师说:“连《新华字典》都错了那还得了。”我于是就认为《新华字典》是绝对不会错的,但为什么不会错,我没怎么思考。到后来我才想起来:《新华字典》也是人撰写的,排版印刷过
2008-02-16 17:16:00
1995
4
原创 从CByteArray说起——浅论程序效率
有人说我对MFC一直很有偏见,其实不然,我只是觉得这是个适用性问题,因为很多时候我们根本不需要MFC,用了MFC,程序反而不好做。而MFC最为我诟病的是什么呢?除了多了个DLL的依赖之外就是效率的问题了。 前阵子接手过一些公司以前的程序,我总觉得运行太慢,我认为自己用VC++写的程序可以比它们快好几倍,那它们为什么这么慢呢?这个跟不恰当使用MFC肯定有关系。仔细看了代码,发现类似下面的代码
2008-01-28 11:31:00
8236
3
原创 发布一些面试题目
1、What is achieved by prefixing the static keyword to a file-level function or file-level variable declaration?使用static关键字修饰文件级的函数和变量起到什么作用? key:对变量来说,不允许文件外的程序访问;对函数来说,该函数的实现必须在这个文件内完成,并且不允
2008-01-13 13:11:00
2126
5
原创 C++类对应的内存结构
提示1:对“内存结构”表示有疑问或不解的,先参考:http://blog.csdn.net/guogangj/archive/2007/05/25/1625199.aspx,本文使用的表示方法和VC6的Memory视图一致,即:左上表示低位。 提示2:下文提到的“类大小”严格上来说是该类经过实例化的对象的大小。当然了,光研究长度的话,两者差别不大,因为:CClassA objA,s
2008-01-11 10:04:00
12871
10
原创 小小软件人这几年所遭遇的难题
一眨眼从事软件R&D四年有余了,对一个软件开发者来说,工作了三到四年往往就到达了他的顶峰,当然这句话不是我说的,这是我有一次到一家公司面试,那里的HR这样说的,而我不怎么同意,按照道家学说的观点,物极必反,但何为极?这是相对的,如果我在R&D领域工作了四年下来,感觉自己在这方面已经不能再发展了,于是去做别的,那这就是我的“极”了,但如果我觉得这仅仅是个开始,我还得继续学习才能取得更好的发展,那这还
2007-12-25 10:24:00
2485
2
原创 再论COM的线程模型
前些时间转载了一篇关于COM线程模型的文章,感觉效果还是很一般,我后来又搜集了些资料,打算自己写一篇非常通俗易懂,而又准确的文章,这就是本文。泛说"COM线程模型":http://blog.csdn.net/guogangj/archive/2007/09/06/1774280.aspx Apartment,中文翻译为“公寓”,有时候为“套间”,这里就翻译为“公寓”吧,都一个意思,指的就是COM的
2007-11-15 08:51:00
1371
原创 金山的“陨灭”
如果做一次民意调查,让中国的软件开发者评选自己心目中的国人软件英雄的话,我想会有超过一半的人选择求伯君,因为,在很多人都不知道“操作系统”是什么的时候,我们就知道了WPS,甚至那时候所说的电脑,指的就是WPS,就好像现在说上网多半指的是浏览网页。可能最令我们这些开发者敬佩的是求伯君先生的WPS使用的开发工具竟然是汇编,他自己一个人完成了这个艰巨的任务。那时候的金山公司,就是我们心中的“中国的微软”
2007-10-10 13:12:00
1631
2
原创 Description of COM principle
Description of COM principle I was completely overwhelmed by COM technology. It is very difficult to understand. I think its mechanism can confuse all beginners. ATL is a good solution for COM, bu
2007-09-26 16:15:00
2062
3
原创 COM工作过程示意(一):进程内组件
这不算一篇纯粹的原创作品,这是我对《COM原理及应用》的一点整理。欢迎发表评论,当然还有后续。 Client COM库 Component(
2007-09-14 16:55:00
2156
5
转载 泛说"COM线程模型"
我对“公寓 ”一词说实在一直不太搞得清楚,而企图上论坛问人的话他们总是喜欢回答:“你还是好好把《COM本质论》看一遍吧。”其实如果其中有些关键部分不理解的话,就算看上十遍也是不行的,我们需要的是一本适合自己的教材,今天偶尔发现这篇文章,所以转上来,希望读者能发表下意见。为了方便阅读,我对原文稍微进行了一些排版。===== 原文 =====泛说"COM线程模型" 作者:未知 来源:月
2007-09-06 10:21:00
5619
1
原创 回忆,梦的开始
回忆,梦的开始 夜阑人静,当他的心情再度恢复平静的时候,他会一个人躺在窗边,望天遐想,如果有人愿意来和他谈心,他就会重复地讲述着这么一个故事: 我们生活的这个星球的另一半有一个国度,还有这么一位少年,这位少年从小的梦想就是让世界上的每一台电脑都运行着他自己写的操作系统,他是如此热爱电脑,并执着于这个梦想,以致他放弃自己大学的学业和自己另外一个伙伴一块儿合作去完成这个梦想,多年努力之
2007-08-13 20:59:00
1516
原创 浅谈VC++工程的文件组织
浅谈VC++工程的文件组织 惯例惯例,开场时候先说点别的事情。前阵子收到一封Email,是一个大学同学发来的,他在广东工作,3年没见过他了,他说他手机号码又换了,通知一下。我很反感老换手机号码的人,于是草草用短信回了3个字:“知道了。”第二天收到了他的短信,内容竟然是:“最近过得不如意吧。”我纳闷了,哪有这样的问候?于是回复:“你说你不如意还是我不如意?”他回复道:“我问你啊,过得不如意吧
2007-07-12 11:05:00
6462
2
原创 我看《最后期限》
《最后期限》(The Dead Line)是我看的第一本关于项目管理的书,更重要的是这本书属于科普读物,通俗易懂,书并不厚,不过我看了好几天,因为我边看边思考,结合我的经历,我想这样才能真正对我起到指导作用。下面我抓住我体会最深刻的一些要点,写出来供大家参考。 一、管理的核心是人,不涉及到人的管理,最多只能称得上是文档工作,文档本身不会产生价值,价值只能通过人来创造,人是最重要的。
2007-06-20 21:23:00
1293
1
原创 计算机专业英语中容易发错音的几个单词
Computer Science Technical Vocabulary想起我在上家工作时候的一件事情,那时有位同事跟我讨论一个程序为什么不能运行,我说:“可能它是.net程序,需要Framework方可。”这位老兄不明白:“什么?”我连说了几次,他还是不明白,我感到奇怪,他怎么连Framework都没听说过?于是我拿笔在纸上写了:“FRAMEWORK。”他恍然大悟,对我说:“这念[’f
2007-05-31 08:02:00
2866
1
原创 内存表示,位运算及字节序
这篇文章始于对这么个程序的思考: int main(int argc, char* argv[]) { int i=1234567; DWORD dwWrite;
2007-05-25 11:22:00
6559
5
原创 漫谈面试
今天早上终于完成了现阶段的最后一场面试,工作基本确定了,我当了一个月的“面霸”,尽享着苦尽甘来的感受,于是打算写这篇文章,随便谈谈我从没毕业开始找工作到现在所经历的这么多的面试,既然是漫谈,就不拘于形式,主要还是说说感受。其中有痛苦的时候,也有愉快的时候,有严肃的时候,也有轻松的时候,有理所当然,更有莫名其妙。(为了能够畅所欲言,下面提到的公司大多不指明) 第一次面试:真的是完全出乎我意料
2007-05-10 17:54:00
3012
4
原创 C++的const_cast的问题
和上一篇文章一样了,还是提起一下大约一年前我来公司面试所遇到的一道题目,题目很简单:C++有多少种cast,它们的名称和功能各是什么。(我之前的文章曾经提到过,但后来我发现自己写得并不够简明)答案如下: 一共四种cast。1、static_cast,支持子类指针到父类指针的转换,并根据实际情况调整指针的值,反过来也支持,但会给出编译警告,它作用最类似C风格的“强制转换”,一般来说可认为它是
2007-03-29 11:59:00
7715
8
原创 一道智力题
我害怕自己被黑暗吞噬,企图写一些似乎无关紧要的东西,分开注意力……其实我最近发现自己有个特点,就是时不时会回想过去遇到过的一些问题,得出一些新的结论或者寻求一些新的解法,我的问题也不一定是什么难题,有时无非是些能稍微动动脑筋的东西罢了。但不管怎样,我自己还是挺喜欢自己这个特点的,尤其在这个迷惘的季节。 这是我差不多一年前碰到的笔试题目,就是我今天离开的这个公司的笔试题目,如果做过这种题目,
2007-03-29 10:14:00
1441
原创 文笔山记
上海的天空下着雨,我的心情也下着雨,最近因为工作的事情搞得我自己都感觉到心理上的扭曲,我很烦恼……按理说这个时候我什么也不会干,但这次我无论如何得找些事情,于是打算写篇游记,也算对2006年“闷了一年”的一些回应。 文笔山,如果在网上搜索这个词,多半会找到云南丽江的文笔山,而我要写的文笔山,却是我的家乡广西灵山的文笔山,我很小很小的时候就知道了这座山,因为我每天都能看见它,我每每趴在书桌前
2007-03-26 23:35:00
2844
4
原创 公式翻译
又是一个寒冷的夜晚,我坐在床头,这个时候我只有两件事情能做,一是看《圣经》,一是看《数据结构》,但明显前者对我来说比后者难得多,一来我不是信徒,二来内容是在枯燥,缺乏创造性,但更关键的是:其实我没有《圣经》……所以翻起了那本准天书——《Data Structures and Algorithms with Object-Oriented Design Patterns in C++》,开始神游…
2006-12-20 00:19:00
3342
3
原创 从C++角度看Java
最近感觉Java技术如日中天,招聘职位非常之多,而C++却相对黯然,身为C++的“铁杆玩家”的我也不得不心动去了解下Java,于是有了这篇文章,我暂时没打算深入学习Java,我仅仅是花了不到一天的时间阅读了一下Java的教程《Java2核心技术:卷I》,然后编译了几个小小例程,所以下面所描述的肯定有不妥之处,而我也只是站在我的角度去思考的,希望在行者通过留言来给出适当见解,谢谢! 1、
2006-12-18 20:25:00
1833
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人