2007年6月21日

摘要: 最近在写一些关于MFC的东西,是因为做了些MFC的项目,一些零散的东西需要总结一下。但这并不代表我有些喜欢他了,其实还是蛮讨厌的。毕竟看了.Net Framework,再看N多年前的MFC,多少是有些不顺眼的。机理上的东西不敢多说,有些变量和方法名字的设置,站在FCL的设计角度看了,多少觉得有些不爽。也许是我太弱,也许是因为它的设计上考虑还是没有足够的经验,列举一些,娱乐娱乐。 1. 在构造一个... 阅读全文
posted @ 2007-06-21 23:18 duguguiyu 阅读(1458) 评论(3) 推荐(0) 编辑
摘要: 利用MFC向导建立一个工程,然后开始编码。这就是我通常做一个MFC工程的开始。但向导可不是一个守规矩的东西,它会为你添加很多的代码,为你设置大量的编译和链接选项。大部分时候这种工作是善意的,但是好心不一定办好事,你不好好了解它,它会给你带来很多的麻烦。 在配置一个基于OpenCasCade的程序中,我就遇到了很多麻烦。MFC向导在它所生成的View, Document等架构类中都添加了一段如下代码... 阅读全文
posted @ 2007-06-21 00:20 duguguiyu 阅读(2548) 评论(2) 推荐(0) 编辑

2007年6月15日

摘要: 基于OpenCasCade二次开发了一个程序,想采用简单的copy的发布(部署)方式。 但在发布时遇到了很多问题。总结一下。 首先将所有所需的dll拷贝到了执行目录下,然后将程序copy到一台未安装OpenCasCade的机器上运行出错,信息如下: 即出错信息为:Runtime error! This application has requested the Runtime to termi... 阅读全文
posted @ 2007-06-15 15:45 duguguiyu 阅读(2555) 评论(0) 推荐(0) 编辑

2007年6月4日

摘要: 【终】 写了那么多,只是展示了书中一小点一小点的内容,大部分内容还需要自己看书发掘。为了证明我真的不是偷懒不愿意写,而是能力有限无法写太多体会(什么?你就是这样认为的,恩,小声点,说实话多不好啊^_^),我决定最好把书中的公理都用可爱的Google拼音打上来。本书把各个部分最重要的一些提示语都列了出来称为公理(至从有了Effective C++后,好像整个世界都流行列条目了),虽然没有上下文的环... 阅读全文
posted @ 2007-06-04 01:19 duguguiyu 阅读(1279) 评论(9) 推荐(0) 编辑

2007年6月3日

摘要: 【不要打扰你的用户】 用户使用软件,是希望通过软件达到他需要的目标。但有时候我们会自觉不自觉的逼迫他了解一些实现细节。对于这些细节,用户并没有足够的兴趣,那只会打扰他们,引起他们的不解、恐慌或愤怒。 非模态反馈是一种避免打扰和惊吓用户的方式。当软件系统有必要的内容需要告诉用户的时候,非模态反馈是系统在对用户述说,用户只需要合适的聆听而不需要不停的回答。而传统模态对话框不是这样的,那是系统在向用户质... 阅读全文
posted @ 2007-06-03 01:51 duguguiyu 阅读(1469) 评论(1) 推荐(0) 编辑

2007年5月29日

摘要: 【设计方法】 在前面,我们看了很多从理论对如何做一个有优秀UI的软件的描述。但归于实际,很多问题会比较难以操作。比如,用户的目标怎么发掘,其心智模型怎么探究等等。诸如此类的问题,都会需要有一套切实可行的实践指导方案。 书中提出了一整套完整的解决方法,指导程序员进行UI设计。实践、理解并合理运用这套方案,可以使你的UI设计变得更加的容易。 对于这部分内容,由于我实践经验的限制,不敢写太多东西。等日后... 阅读全文
posted @ 2007-05-29 00:50 duguguiyu 阅读(1304) 评论(0) 推荐(0) 编辑

2007年5月25日

摘要: 【书籍信息】 软件观念革命--交互式设计精髓【About Face 2.0 -- The Essentials of Interaction Design】 詹健锋,张知非【Alan Cooper, Robert Reimann】 电子工业出版社:2005 【读书感触】 一本让我激动、羞愧、深思的书。就像上课坐的太靠前被XX教授喷了一头吐沫星子——醍醐灌顶。本书作者之一,VB之父Coo... 阅读全文
posted @ 2007-05-25 01:48 duguguiyu 阅读(2568) 评论(0) 推荐(0) 编辑

2007年5月21日

摘要: 【Template】 Template的出现大大改变了C++的编程方式,甚至在传统的面向对象编程方式的基础上派生出了泛型编程方式。简单的理解泛型,可以看成是以平行级别的类(相对于继承来说)对代码依照算法逻辑进行复用。比如有一个template A。当你分别使用A, A, A对其具现化的时候。可以简单的看成编译器为你生成了三个类A_int, A_double, A_aClassR(名字是虚拟的)。... 阅读全文
posted @ 2007-05-21 01:12 duguguiyu 阅读(1301) 评论(0) 推荐(0) 编辑

2007年5月19日

摘要: 【构造和析构函数】 通常我们的看法是:当定义一个类的时候,如果没有为它写一个构造函数,系统将帮我们生成一个,并完成成员的初始化。但是,从编译器来看,上述看法中的两点认识都不够正确。编译器只会在编译需要的情况下(nontrivial的条件)自动生成默认构造函数构造函数。一般包括下面四种情况:1.类中包含的数据成员有默认构造函数;2.其基类包含默认构造函数;3.具有虚成员函数;4.虚继承至某个类。其... 阅读全文
posted @ 2007-05-19 00:31 duguguiyu 阅读(1774) 评论(1) 推荐(0) 编辑

2007年5月9日

摘要: 【书籍信息】 深度探索C++对象模型【Inside The C++ Object Model】 侯捷【Lippman】 华中科技大学出版社:2001 【总体概况】 本书主要是描述编译器(和链接器)对C++对象模型的处理。详述了面向对象中继承、封装、多态等等重要内容在编译阶段的处理。分析了各种实现的优缺点,并且展示了如何使用“分析-实现-分析...”(个人定义)这种以实践而不是主观臆断为基... 阅读全文
posted @ 2007-05-09 01:10 duguguiyu 阅读(2073) 评论(0) 推荐(0) 编辑

2007年4月2日

摘要: 想完整的做个小的CAD软件都是一件令人很痛苦的活,因为里面的算法实在是过于的繁杂了。考虑用开源的算法库。CGAL需要装QT,放弃了。于是想到用OpenCasCade。文档,源码和示例都很健全,你不得不佩服老外的精力。但即便如此,想正常编译使用示例(MFC示例)还是一件很麻烦的事情,调试了一上午通过了,要点如下:1.在VS2005下打开工程,由于for语句的变量限定与以往不同,需要通过项目属性-->... 阅读全文
posted @ 2007-04-02 13:06 duguguiyu 阅读(11385) 评论(13) 推荐(0) 编辑

2007年4月1日

摘要: C++和.Net程序采用了两种不同的编译方式。通常一个C++编写的程序,都是一次编译成二进制的代码,在相应的操作系统平台上直接执行即可。而.Net程序采用两次编译的方式,用C#,VB.Net等语言写成的程序被编译成IL代码,通过CLR在运行的时候JIT编译成为本地二进制代码。个人觉得,MFC和WinForm很多设计上的不同从根本上说,都是因为编译模式带来的不同。因此,在仔细探讨MFC和WinFor... 阅读全文
posted @ 2007-04-01 01:01 duguguiyu 阅读(2688) 评论(2) 推荐(0) 编辑
摘要: 想写一些关于MFC和WinForm比较的内容。作为Windows操作系统下,两代GUI开发的平台,两者在性能,易用性,执行方式上都有很大的不同。也许现在写这些东西已经有些过时,因为连再下一代的WPF都已经来到了。只不过本人学习曲线怪异,最近才开始仔细研习MFC,因此以此为笔记,促进自己的学习。写的东西主要是关于MFC和WinForm的一些关键机制的分析,当然期间也会涉及很多C++和CLR(或C#)... 阅读全文
posted @ 2007-04-01 00:59 duguguiyu 阅读(997) 评论(0) 推荐(0) 编辑

2007年3月12日

摘要: 其实,这个消息已经很过期了。早在去年九月份的时候,微软就发布了关于VB9.0的信息。只是,没有关注VB有一段时日了。因为自从VB走上了.Net平台,原来那简单高效(开发效率)的VB不见了,取而代之的是一幅俨然C#双胞胎的面孔。也许这种转变是迫不得已,也许这种变化正是利大于弊(对于我来说,就是这样,如果不是熟悉的VB,也不会开始尝试使用.Net)。因为毕竟,别人有的咱VB也有了。但一想到所有曾经的优... 阅读全文
posted @ 2007-03-12 01:30 duguguiyu 阅读(1118) 评论(0) 推荐(0) 编辑

2007年2月15日

摘要: 懒了好几天,尽玩去了。恩,赶在年前,把想写的再写一点^_^。.Net目的之一是建立一个面向对象的编程平台。CLR当然需要支持面向对象的各个特征,确切一些,CLR基本可以视为一个完全面向对象的平台(回忆一下之前说的CTS)。CLR的面向对象有一些自己的特点和实现手段,下面会分点写一点,很零星不系统,算是一个笔记吧。封装:CLR对封装的支持没有什么特殊的。仍然是public,private,prote... 阅读全文
posted @ 2007-02-15 12:44 duguguiyu 阅读(894) 评论(3) 推荐(0) 编辑

2007年2月10日

摘要: 在前面说了GC的工作原理。需要注意的是,GC只能回收托管堆中的资源。其他一些非托管资源,比如文件资源,缓冲区,互斥体之类,无法通过GC自动回收。必须通过开发人员自己编程实现对其的回收(有时候会觉得CLR的资源管理也会比较麻烦,因为它有一部分自动的,有用一部分手动的,但和C++比比,我们应该很知足了^_^)。很自然的一种编码方式是将回收资源的函数写入终结函数Finalize中,GC启动回收托管资源的... 阅读全文
posted @ 2007-02-10 21:46 duguguiyu 阅读(1716) 评论(0) 推荐(0) 编辑

2007年2月9日

摘要: 一直觉得C++的资源管理让人很痛苦。我不得不看很多经验性手册,以保证能很好的进行内存等资源的管理。相比之下,.Net(CLR)引入了垃圾回收机制(GC),来完成托管堆资源的回收,这毫无疑问,大大减轻了开发人员的负担。但是,天下没有绝对免费的午餐,要想清楚地了解GC的运行,很好的掌握资源的管理工作(特别是涉及到非托管资源的时候),对我这种AI没有突破性进展的人来说,并不是一件很容易的事情。恩。废话不... 阅读全文
posted @ 2007-02-09 16:46 duguguiyu 阅读(1106) 评论(3) 推荐(0) 编辑

2007年2月8日

摘要: 众所周知,CLR支持多种语言,包括C#,VB.Net等等二十多种(其实说确切一点,应该是各种语言都可以提供编译器,从而运行在CLR上)。为了支持多种语言,CLR必须建立一种模式,使得各种语言都能很容易的运行在其上。而如今各种面向对象的语言,虽然在语法上各有不同,但其核心语义都是类似的。因此CLR利用了这一点,它的所有内容都是围绕着类型展开的。CLR的通用类型系统CTS,就是用来描述类型定义和行为的... 阅读全文
posted @ 2007-02-08 13:45 duguguiyu 阅读(880) 评论(0) 推荐(0) 编辑

2007年2月7日

摘要: 用.Net就不得不考虑效率问题(这点和Java一样),到底有没有这种性能问题?性能问题有多大?而微软一直声称托管程序是安全的,这种安全性到底是指的什么东西?达到这种安全到底付出了什么东西?我一直对这些问题很迷惑,最近看了一些书后有一些理解,仅仅是理解,欢迎大家来讨论。要比效率,通常都是与C++相比。毫无疑问,除了极少的情况下,托管的程序与传统C++程序相比,效率有所降低,这种降低我个人觉得来源于以... 阅读全文
posted @ 2007-02-07 16:39 duguguiyu 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 托管程序的部署是以程序集(Assembly)为基本单元的。前面说过,一个程序集包含若干个托管模块(exe或dll)。但通常,一个程序集只包含一个dll或exe(在vs中也仅支持这种)。为了生成含多个托管模块的程序集可以用编译器csc.exe或vbc.exe,或者是使用链接器al.exe。这种方式通常会用于分离常用库和非常用库(后面会提到)。程序集是一个逻辑概念,它在某一个托管模块中放置描述程序集信... 阅读全文
posted @ 2007-02-07 15:22 duguguiyu 阅读(887) 评论(2) 推荐(0) 编辑

2007年2月6日

摘要: 一个托管的程序,从书写代码到编译到最后运行,到底是怎么一个过程,一直有些混沌,好好看了下书,梳理了一下。托管的程序是二次编译的,因此一个托管程序从第一次编译到最后的运行可以根据这两次编译的目的性不同分成两个阶段。第一个阶段是从不同的语言编写的代码通过各自不同的编译器编译生成dll和exe文件。第一次编译生成的dll文件和exe文件统称为托管模块。它们由PE表头,CLR表头,IL,元数据几部分组成。... 阅读全文
posted @ 2007-02-06 13:35 duguguiyu 阅读(903) 评论(4) 推荐(0) 编辑
摘要: .Net是一个广义的名词。它是一个平台或说是战略。在.Net诞生之初,微软在其一系列产品中都冠以.Net的标签。这也给很多人带来疑惑和不解,到底.Net中具体包含什么?这个问题不仅是我有,我想,甚至微软本身以及一些专家也会有。从.Net大局观这本书的第一版和第二版的不同中,我们可以看到关于这个内容的发展。在第一版中,作者将很多内容都纳入到了.Net平台的名下,而在第二版中,这个问题被明确,只有两个... 阅读全文
posted @ 2007-02-06 13:20 duguguiyu 阅读(1614) 评论(0) 推荐(0) 编辑
摘要: 利用假期时间打算重新学习一下.Net。主要是为了解决一段时间以来遇到的问题和梳理一下一些搞不清楚的概念和原理。主要是通过在实践中的一些理解,和.Net大局观和.Net框架程序设计两本书的阅读。恩,有的东西写一写会更明白,如果有不对的地方也希望大家帮忙指正。 阅读全文
posted @ 2007-02-06 12:50 duguguiyu 阅读(712) 评论(0) 推荐(0) 编辑

2007年1月5日

摘要: 一直以为是博客园挂了。用了代理才知道,是博客园和教育网水火不容。。。晕了。。。 阅读全文
posted @ 2007-01-05 23:52 duguguiyu 阅读(294) 评论(3) 推荐(0) 编辑

2006年11月7日

摘要: 两个人在一起时彼此感动好还是彼此喜欢好呢?答案是两者都有最好。很无聊的问题配上很无聊的答案,却有很开心的心情。一直还是在奉行那句话,Don't hold your hope up,这样能让自己很enjoy每一点的开心。有1mol的语无伦次,我想这是在得到好感度up的利好消息后的正常反应。某人说要写信的。还在等待。虽然很歉疚,但是还是决定面对。彼此都想开一点,就能开心多一点。作息时间越来越良好了,良... 阅读全文
posted @ 2006-11-07 01:03 duguguiyu 阅读(373) 评论(0) 推荐(0) 编辑

导航