自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 C模拟C++的多态

c++有多态的特性,所以我们可以写出很抽象的代码,例如有如下的继承结构:class Employee{public: virtual ~Employee(); virtual int GetSaraly() const = 0;private: int m_nSaraly; };class Programmer : public Employee...

2010-10-24 14:44:11 174

How?

QQ会阻止发送可执行文件,如果你装了winrar之类的工具,通常你会把文件压缩成rar文件再发送。这做法很不错,所以你可能会依赖它。我给同事发信息,请他传一份winrar的安装程序给我。老习惯,他把Setup.exe打包成Setup.rar后传给我,叫我接收。有趣的地方在于,如果我没有安装winrar,我该怎样打开Setup.rar这个安装包呢?...

2010-03-24 14:13:23 88

抱怨1.0

深圳本地产的维他奶很怪,喝了一口后我就想把它扔掉。扔维他奶也是浪费粮食的行为,于是我还是把它一滴不剩的喝光了。这么难喝的奶,还配了根与包装一样高的吸管,结果我喝的过程非常小心,要不时的把吸管往外拉,以免它掉到包装盒内,用我从《设计心理学》一书得来的标准看,这是一种非常糟糕的设计,可以作为反面教材。另外,“维他奶”而不是“维她奶”,光这一点就够女权主义斗士折腾好一阵子的了。中移动也好不到哪儿...

2009-11-16 10:48:58 181

关于播放器,一个想要的功能

我常用听歌来隔离外界的噪音,因此有长时间带耳机的体验。歌曲和天气一样会影响人的心情,所以那些慷慨激昂音量较大的歌,我一般都是选择在下午比较疲劳的时候听;早上我比较喜欢听些欢快明亮的,如果天气不好更是如此。我通常会加很多歌曲到播放列表里,而某刻我只想听其中几首,这就引申出一个问题,如果不对播放列表进行修剪,就无法达到我的目的。我想要的功能,说白了很简单:能循环播放歌曲列表中我选中的那几首歌。...

2009-11-13 17:03:28 131

如果电视机……

手握遥控器的我在享受换台自由的同时发现一点不甚满意的地方,各个电视台的节目音量大小不一,这种差别有时候很大,让人换台后要跟着调节音量,非常的不方便,不知道是不是可以做到让声音大小独立于频道。...

2009-09-22 17:58:38 107

多线程里的OutputDebugString

早就有人说过,调试多线程程序是挑战。今天我才算是对这句话有个比较深入的了解。事情这样的:我的程序有一个工作线程不停的读取USB口上传的数据,然后将读到的数据导出到文本文件。用户反映导出的数据有部分丢失,于是我就修改读取数据的方式,并在收到数据的时候做了前后两笔数据ID是否连续的判断,还把数据通过OutputDebugString输出到VC6的Debug输出窗口。奇怪的是,每当我调整VC IDE左边...

2009-09-10 11:05:02 341

给优秀视频网站的建议

我要看盖·瑞奇的《无良杂种》,我要看盖·瑞奇的《无良杂种》。3天前,我在优酷网上搜,除了一两分钟的宣传短片外一无所有;前天我又搜,还是没有;昨天我还搜,有了,就在34分钟前别人上传的。唉,可惜是枪版,好电影是不能看枪版的。想看的电影没看到,但追求完美的我看出了点其它问题:为了看一部电影,为什么我就要不停的去视频网站查询呢?可不可以让我先告诉网站我想看什么,等有人上传的时候网站就通知我说:嘿,小...

2009-09-09 09:51:23 111

原创 Blog从CSDN搬到Javaeye

非常不喜欢CSDN了,所以就搬来Javaeye。我目前的工作与Java完全不搭界,虽然Javaeye这名字让人觉得只有Java用户才有资格出现在这里,但是我不管(相信其他人也不会管)。...

2009-08-06 13:18:22 78

速算法的奥秘

闲着(例如乘坐公交)的时候我会想些和工作有些关系而又不太紧密的问题,例如我发现一个数与9相乘,把结果中的每个各位数相加,其结果都是9,例如: 1 * 9 = 9 (9 = 9) 2 * 9 = 18 (1 + 8 = 9) 3 * 9 = 27 (2 + 7 = 9) 4 * 9 = 36 (3 + 6 = 9) ...

2009-05-11 11:02:00 88

几张图片

for CSDN

2009-05-04 17:11:00 100

关于查找算法(The more the better)

线性查找的时间复杂度为n。如果我们知道数组是已排好了序的,那么就可以采用更有效率的算法,例如二分查找法,它的时间复杂度为lgn。其实我是想说,对问题知道得越多(有序数组中相邻的元素是递增的关系,而在一般的数组中,我们不知道相邻的数组元素谁大谁小),我们就越能找出更有效的解决方案。近似于说教了,真失败。...

2009-04-24 13:51:00 83

《算法导论》笔记一

看《Introduction to Algorithms, Second Editon》,里面提到插入排序和选择排序,这两个算法的时间复杂度是一样的。比较这两个算法的时候,我发现其实它俩是一回事。插入排序是把新元素插入到已经排好了序的序列里,我们知道执行当前操作需要插入的数字;而在选择排序中,需要插入的新元素是未知的(需要选取),但是插入的位置是已知的。插入排序是插入的元素已知,选择排序是插入的位...

2009-04-24 13:39:00 67

IT电子书下载的好站点

http://rapidshare.com有很多好资源,但是经常会发现网上提供的链接无效,这时候怎么办?除了可以通过site关键字制定搜索范围外,还可以到http://rapidlibrary.com上搜,很方便。http://www.avsnonline.net也是个资源丰富的站点,通过这个链接(http://www.avsnonline.net/library/download.php...

2009-04-16 16:49:00 66

不懂装懂和人云亦云

不懂装懂和人云亦云都是贬义。不懂装懂是骗子的伎俩,人云亦云是脑容量不够的人的专利。这是两个常见的成语,听多了见多了,让人觉得了无新意。我对这两个成语也没什么偏好,只是在看《TCP/IP详解卷》(英文名叫《TCP/IP Illustrate》)的时候内心纠结,觉得用这两个成语来形容这本书的译者和大部分读者非常的恰当。我不想说所有的书商和出版社都是骗子,至少也是十有八九吧!净找低能的译者(中文、英文、...

2009-04-03 11:13:00 102

PeekMessage究竟做了什么?

把Delphi里TThread的WaitFor函数转化成C++代码,就会是下面这个样子。BOOLTThread::WaitFor(HANDLEhThread){MSGmsg;HANDLEhandle[1];handle[0]=hThread;DWORDdwWaitResult=0;do{//Thispreventsapotenti...

2008-12-16 15:24:00 95

程序的多语言支持

经常会遇到这样的问题,程序要支持多种语言的操作系统。下面就说说VC6下怎样实现。一、使用字符列表文件 这种方法算是比较好的。说白了就是配置文件,把所有需要显示的字符串都放在一个文件里,每种语言对应一个文件。如Simplified Chinese.ini、Traditional Chinese.ini、English.ini。文件内容示例如下: // In Simplified Chine...

2008-12-16 11:09:00 102

《深入浅出MFC》中关于程序生死的笔记

要能够轻松掌握MFC(希望它还没有过时)并不是件容易的事,这方面候捷的《深入浅出MFC》是本不错的书。但这书对读者也有一定的要求,既要熟悉C+SDK方式写程序,又要对C++继承和多态特性有所了解。为了能够更好的引导读者阅读,候捷先生在书中特别开辟了第一章和第二章来做基础知识的介绍。通过阅读它,我们也能很快地记住Win32程序的特点: 1. 程序进入点为WinMain函数 2. 要注册窗口类和产...

2008-12-03 14:12:00 67

Win32程序启动时的头几个消息

用C语言撰写的Win32程序中,会见到如下的标准代码段: hwnd = CreateWindow (szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x posit...

2008-12-01 14:24:00 73

几种文件操作函数库的特点

在我们想进行文件操作时,有时往往不知道该从何下手,因为有太多选择了。首先,我们可以采用喜之郎CC的C语言函数库里(C Run-Time Library)提供的函数,来打开文件:FILE *fopen( const char *filename, const char *mode);关于fopen函数的具体的解释敬请到MSDN上查找,除此之外,Windows还提供了另外的选择,我...

2008-10-14 15:30:00 118

typedef struct与strcut的区别

在Windows下用VC作为开发工具的程序员,常可以在头文件中看到如下这样的定义: typedef struct tagXXX { ... } XXX;按照字面的意思理解,上面的代码段定义了一个结构体tagXXX,同时还指明了XXX类型为strcut tagXXX。直接把定义改为下面这样的代码,不是更好吗? strcut XXX { ... };为什么要多此一举的用typedef来定义个同...

2008-10-14 14:12:00 99

CWnd::SetIcon究竟做了什么事?

用VC向导生成的基于对话框的程序中,在对话框的OnInitDialog()函数中,总可以看到如下的代码段:BOOL CXXXDlg::OnInitDialog(){ ......// Set the icon for this dialog. The framework does this automatically// when the application's main window...

2008-10-07 10:03:00 87

Some tasks to be finished

Task listing: 1. Read 《Programming Windows》(manage message routing and windows painting) 2. Read 《Dissect MFC》(understand the framework completely) 3. Implement a Windows Tray 4. Tetris(Game) 5. Mine(...

2008-08-21 16:39:00 72

Joel和《The Pragmatic Programmer》给的建议

Well,虽然Joel Spolsky在《Advice for Computer Science College Students》一文里给计算机系的学生提出了7条不错的建议:1. 学习写作(Learn how to write before graduating. ) 2. 学会C(Learn C before graduating. ) 3. 学习微观经济学(Learn microecon...

2008-07-29 14:21:00 72

[zt]如何用正确的方法来写出质量好的软件的75条体会

1. 你们的项目组使用源代码管理工具了么?应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。2. 你们的项目组使用缺陷管理系统了么?应该用。ClearQuest太复杂,我的推荐是BugZilla。 3. 你们的测试组还在用Word写测试用例么?不要用Word写测试用例(Test Case)。应该用一个专门的系统...

2008-07-29 13:54:00 101

云风的《那些日子》之三

云风的《那些日子》系列文章不错,我尤其喜欢第三篇。奈何作者声明谢绝转载,于是我只好贴上一个原文的链接,供自己有需要的时候看看。《那些日子》之三 见:http://blog.codingnow.com/2008/05/passed_days_3.html...

2008-07-29 13:46:00 60

学习,是一条漫长的道路

作者:蔡学镛我在Java1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言...

2008-07-29 13:20:00 198

你说挑书就像挑老师一样,我说你乱有思想的

作者:蔡学镛想学某项技术,于是到书局打算买书,但是面对书架上陈列出来琳琅满目的书籍,却又不知该如何选择起……。你一定也有过这样的经验。我曾经在我以前的一本译作「细说 Java 虚拟机器」的序中,和读者分享我挑书的方法。我把它整理改写成这篇文章,希望能对喜欢看书的你有所助益。信息科技变化相当快速,技术、规格不断地推陈出新,阅读计算机技术书籍是让自己不被信息洪流淹没的最好方法,因为: · 规格...

2008-07-29 13:19:00 89

软件人员的生涯规划

作者:蔡学镛生涯规划,这么一个严肃而重要的主题,似乎应该找学者专家们来发表言论和研究报告才是,没有我这个年轻人说话的余地。只是,日昨在报纸上看到许多前职棒明星现今的遭遇之后,感触良多,我于是写了这篇文章。报载,许多前职棒明星,当时月领三十多万的高薪,现在居然在台北抽水站看守闸门,薪资也变成三万多。他们接受记者访问时,都会提到一句:「我一辈子都在打棒球,除了棒球之外,我没有别的专长。」这句话...

2008-07-29 13:18:00 74

利用模板判断模板参数类型

C++中可以把数据类型当成参数,类型参数可以由编译器推导出来,也可以由程序员显式指定.下面的两个模板,就可以用来判断模板的类型参数是否为reference或者const.template <typename T>struct IsReference///Use this struct to determine if a template type is a refere...

2008-06-19 14:14:00 991

[转]程序员职业生涯探讨

[注:在JavaEye上看到的文章,觉得读来很有益处,特转贴,原文见http://werwfrxx.iteye.com/blog/198196这是个人对程序员生涯的一孔之见,只代表作者的个人想法,其中疏漏甚至错误之处在所难免,希望大家多提宝贵意见。 前言 丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上。日子就像一块块砖,你就像是一个泥瓦...

2008-05-31 18:21:00 53

读书笔记《道法自然--面向对象时间指南》第七章

FISHGUI项目进入到面向对象设计的阶段了,面向对象设计阶段做些什么东西呢?有没有一些基本原则?又有哪些需要注意的问题呢?概括的讲,面向对象设计就是对分析模型的细化,在“分析模型”一章也强调过,面向对象设计是以面向分析阶段的分析模型作为输入,通过对分析模型中所有对象和类的分析,明确对象的属性和操作,制定属性的类型特征,补全对象之间的关系,并在不断细化的基础上,把分析模型转化成详细描述如何解决问...

2008-05-09 14:12:00 131

读书笔记《道法自然--面向对象实践指南》第六章

采用面向对象的开发的小项目,究竟有没有做架构分析的必要呢?要回答这个问题,必须要对什么是架构分析、架构分析有什么作用有了解,书中的6.2节就回答了这两个问题。引书中架构分析的解释如下: “架构分析工作主要是从宏观上考虑一个软件系统应该如何组织。通常,在架构分 析工作中,我们需要确定一些策略性的设计方针、原则和基本模式,在它们的指导 下,我们可以高屋建瓴地分析软件系统的宏观结构,认识软件系统由哪些组...

2008-05-05 11:26:00 108

读书笔记《道法自然--面向对象实践指南》第五章

FISHGUI项目组决定用面向对象的方法完成项目,也决定采用迭代的开发模型。现在终于进入到面向对象分析的阶段了。面向对象分析该从哪里开始呢?要完成些什么工作呢?第一次采用面向对象开发的项目组都会碰到这样或那样的问题,解决之道是要允许项目组犯错误,在错误中学习、成长。书中提到: 面向对象分析的主要任务是根据用户需求,建立一个准确的、完整的、一致的系统模型 。这个过程的输入是软件的功能性需求(非功能...

2008-05-02 00:37:00 87

读书笔记《道法自然--面向对象实践指南》第四章

第四章讲的是模式,并没有直接进入到面向对象分析的阶段,作者之所以这样做,我觉得是因为在面向对象分析和设计的过程中,模式的使用对项目非常有帮助,才特意停下来开辟一章给读者做一些模式知识的普及工作。作者说到他刚读完《设计模式》时,头脑中反复出现的问题,包括: ·模式的概念是从哪里来的? ·什么是模式? ·模式和设计模式等价吗?开发人员常说的架构模式、GRASP模式又分别是什么东西呢? ·设计模式能...

2008-04-30 10:49:00 92

读书笔记《道法自然--面向对象实践指南》第三章

掌握了系统的需求后,FISHGUI项目组像其它许多的项目组一样,想直接进入设计阶段。谨慎稳重的老Z提出:在进行设计之前,应该考虑将要采用的设计方法和开发过程遵循的生命周期模型。这个提议并不是毫无意义的,老Z的提议所根据的是这样一个原则:没有哪种设计方法适应于所有的场合,我们应该根据具体的情况,选择合适的设计方法。这原则在语言优劣的争论上同样的适用,并没有哪种语言绝对好于另一种,作为程序员,我们应该...

2008-04-30 09:50:00 62

读书笔记《道法自然--面向对象实践指南》第一章

开始一个项目,首先要明确的是项目的“目标”和项目“范围”。软件的目标定义应该尽量简洁明了、无歧义,范围确定之后,就可以找出项目“干系人”(也就是除开发组成员外,对项目有影响的人)。找出项目干系人之后,就进入了“需求分析”阶段。更直白一点讲,需求分析就是找出软件要达到项目干系人的目标所应具备的功能,可分为功能性需求与非功能性需求两类。需求分析做完后,应该用文档把此阶段为止项目的状况记录下来,这份记录...

2008-04-30 09:48:00 88

读书笔记《道法自然--面向对象实践指南》第二章

第二章的用例分析,仍是属于需求分析阶段的工作。用例分析的目的是找出系统应该提供哪些功能,具备什么样的特性、并用大家都能了解的方法用图和文字表示出来。把用例分析独立出来,足见用例分析是需求分析阶段的重要内容。开篇和前一章一样,小A又做了反面典型,其目的在于引出对用例模型重要性的说明。在进行解释之前,使用一种语义清晰、易于理解的语言,是非常重要的,程序设计领域的UML,就是这样一种很适合用来对用例图...

2008-04-30 09:41:00 74

不用ReadFile读取文件(Part 1)

绕过操作系统提供的API来读取文件,肯定要了解硬盘结构和所用的文件系统。Dos下,设置好CHS(Cylinder/Header/Sector)参数后,通过调用BIOS提供的13H中断,就可以得到制定扇区的内容,但由于INT 13H的有8.456GB的容量限制,而且CHS的方式要求每柱面扇区数相等,磁盘空间的利用率不高,于是扩展INT 13H出现了。新式大容量的硬盘,透过扩展INT 13H,指定...

2008-04-01 17:21:00 89

书籍目录

2007-12-29 14:55 <DIR> .2007-12-29 14:55 <DIR> ..2006-04-28 16:07 3,187,910 .netkuangjia.rar2003-04-11 12:00 29,101,117 10部算法经典著作的合集.chm2006-07-03 14:16 25,724,542 a.rar2002-06-01 16:50 87...

2008-03-05 15:39:00 85

CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别

MFC(VC6.0)的CWnd及其子类中,有如下三个函数://FromVSInstallPathVC98MFCIncludeAFXWIN.HclassCWnd:publicCCmdTarget...{...public:...virtualBOOLPreCreateWindow(CREATESTRUCT&cs);virtualvoidPreSubclassWindow();BOO...

2007-10-30 11:26:00 45

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除