随笔 - 119  文章 - 290  trackbacks - 0

博客搬家了哦,请移步
叫我abc

常用链接

留言簿(12)

随笔分类

我的博客

搜索

  •  

积分与排名

  • 积分 - 301933
  • 排名 - 84

最新评论

阅读排行榜

共5页: 1 2 3 4 5 
re: VS2005类向导的问题 LOGOS 2006-12-31 16:37
基类析构函数,virtual之
re: 励志2007 LOGOS 2006-12-30 18:03
[quote]然而却无法改变一个软件的质量[/quote]
呵呵。一个团队做出来的软件对比个儿而言太庞大了,通常大多数人就像运作中的一个齿轮,即使运作方向错误,一个齿轮很难逆转的。
D3DUSAGE_DYNAMIC,没有使用这个吗?
Francis Arcanum说的没错。

此外,智能指针并不是你所说的这个概念
re: 建造原型的代价 LOGOS 2006-12-22 14:17
[quote]面向对象技术只是将1000块砖分割成10组100块砖,不是根本的解决之道[/quote]
有理。
原型代码确实是为了扔掉而扔掉的。
支持,慢慢来,能写些东西总比我什么都不写的好
re: Progressive Mesh LOGOS 2006-12-19 17:09
[quote]Progressive Mesh的思想是,预先处理模型数据,使用Octree树分割,生成LOD数据,写到磁盘上。运行时载入,检测当前View Frustrum的位置,应用LOD绘制场景。[/quote]

·····真的是这样子的吗
re: 循环的效率 LOGOS 2006-12-18 11:14
写成 for (i=0; i<row*col; ++i)如何?
··········确实令人羡慕
能那么早就碰程序
你的邮箱就是msn号吧,我已经加进去了,并发送了QQ号.
有时间多交流~
PS:我的邮箱就是msn号
re: quake引擎框架 LOGOS 2006-12-04 12:07
gameres.com有,完整的包括renderer等各个部分.
不过你要看清楚了,下载quake3而不是quake或者quaketool
re: 源码阅读 LOGOS 2006-12-03 10:49
谢谢
re: FreeType2研究 LOGOS 2006-11-08 16:43
要跑到游戏领域上去?
re: class的沼泽地 LOGOS 2006-10-20 12:23
LZ见解不错,不过最终没有给出如何切薄胶合物的方法。
如果从设计一个库的角度来讲,库的核心最好仅用有限的接口就好(紧凑+正交)。然后通过胶合物wrapper来包装库的功能,提供“便利”方法。
如此,核心始终是可以复用的,而wrapper在一定程度上也可以复用,大不了扔掉重写也无所谓。
如果是设计一个应用,那么最小接口并不是必须的,应该用最合适的接口,以达到能将应用框架透明表现出来的目的。
其实OO的精髓应该是,只是那么一些子类扩展行为的地方需要继承而已,其他的一层就够了。
不错的资料,好文。
re: 聊内存池技术 LOGOS 2006-10-15 21:25
一个是基于模版的分配器,另一个是基于链表池的分配器
re: 杂乱的设计念头 LOGOS 2006-09-20 17:10
其实最终确定下来的念头是,要做一个collide AI模块,把所有麻烦的东西集中到一起。

呵呵。如果从汇编,甚至机器码的角度来看待程序,那么,很多语言特性将不复存在。因为这些特性都是在编译期得到保证的,比如:public, const等。
这也就是,很多时候凭着一个指针就可以在C/C++中走天下了。
不过对于接口类(全是纯虚函数),透过指针的操作要三思而行。
re: 使用UNICODE提高效率 LOGOS 2006-09-12 09:10
看你的东东越来越辛苦了。我必须看一遍,关掉页面,再打开,写评论,不然memory就被吃光了。
unicode的本质意义是简便的国际化,但是并不是说可以很随意的使用unicode了,因为软件常常依赖于别的库,并不是每一个库都有unicode实现的。
个人觉得,unicode的那点加速无关紧要。如果你的软件慢了,还是从别的地方进行优化的好。
呵呵。你如果时间紧张的话,每天看个3,5页就可以了。
好书是值得慢慢看,并且多看几遍的。
这个页面(不知道是否包括你站点上其他的页面),可以造成我浏览器的内存泄漏,会把整个机器吃了.
我用长风浏览器(IE内核).....
早该如此了.
re: 临时对象的生存期 LOGOS 2006-09-05 17:17
老实说,总感觉这种讨论意义不大,因为敢这么用string("hello").c_str()的人,应该把他给开除了....
除了给项目添乱,还能干什么
re: 沉默是金 LOGOS 2006-08-25 14:22
呵呵.我只是说"除非有足够的理由怀疑用户可能会选NO,或者取消该行为的时候,才给出确认对话框。".
其他的就没什么了
re: 读后感:Doom启世录 LOGOS 2006-08-18 12:14
电子版我也有.不过没敢看.那种字体颜色和背景....看完眼睛真的会垮掉的
呵呵.怎么说呢.
讨论IPC,就说明讨论的是需要通讯的任务(进程/线程).
线程与进程的本质区别,应该是地址空间问题.进程是独立的,线程是共享的.
UNIX的元老们最害怕的应该就是没有隐私吧.
线程的通讯方式通常是共享数据结构(全局变量),全局变量是单份的,线程们要使用的话,必须竞争.如果线程过多,资源的分布过分复杂,也许会有意想不到的死锁问题.通常死锁....谁能预见呢?
至于时序问题,其实在大学有认真学习过"操作系统",都知道怎么完美的控制各个任务的执行时序的.
的确,不能说“时序问题、竞争/死锁问题”归为线程带来问题,不过这两个问题领域,似乎是在线程编程的时候才显得尤其突出的.

使用对象的确能把线程封装得很好,不过这种很好,仔细想想,是对于不需要通讯的线程很好吧.只要用全局变量进行通讯,还是会绕回原来的点上.

另外,将任务做成进程而不是线程还基于这样一个理由,重用.
虽然说线程的代码包装得好,可以像一个类库一样重用.但是一个进程的重用,是在编译成一个执行文件之后,用批处理调用的重用.
你觉得是一个类(包含不少接口,并且有调用顺序/环境之类的约束,要命的是好像它还是线程)重用得顺手,还是像"SomeTast.exe -SomeParam"这样在主程序中执行bat命令舒坦呢?
因人而异吧.

并没有反对线程的意思.只是想说,能用简单的先用简单的吧.下班越早越好,是吧.
嗯.看了LZ所说,想到的极端做法是,凡是有switch的地方,都用virtual function代替.
re: 总结大一的生活! LOGOS 2006-08-06 11:17
呵呵.赞一个.
我之前玩ACM的时候也最郁闷PE了,而且还是笨到不知道怎么改正的地步.
后来暑假说要集训.估计自己受不来这苦头,就畏缩的跑掉了.
现在看到自己以前的同学都搞得火热的时候,狂羡慕啊.
re: 滥用assert LOGOS 2006-07-29 11:05
写代码的时候仍然很烦躁,于是再次review大家的评论,发现了一个是使用assert还是老实处理的重要区别----"有个原则,在Release版本,不管发生什么,不要让程序crash掉."
所以使用assert之前,先考虑那个地方在release下是否会存在非法/错误情形,要为可能的crash负责.
re: 滥用assert LOGOS 2006-07-16 15:31
嗯.我知道各位的意思.各位都特别针对了release
而我的意思是,希望能将这种非法性杜绝在debug中,在assert的保护下进行测试,即使出现问题也能很快的定位到发生位置,然后进行代码修改.到了release版本中,这种非法性就认为不存在了,至少不能将其和错误混为一谈吧.
支持.你所说的入门学习方式的确很正确.
只浏览概念,熟悉整体框架.
具体的细节,留到用的时候再去查找就是了.目前很多书都跟字典一个德性.
re: 滥用assert LOGOS 2006-07-16 12:54
@小明
debug版本的目的,就是尽量去除bug和不安定的状态,release版本是用来发布的,不是用来处理那些本不应该出现的非法情形的.如果你真的那样做的话(用if),你一定会被繁琐死的.
另外,关于你举的例子,请看倒数第二段,第三段.

PS:我的只不过是一家之言,不一定是正确的.谢谢你的评论
re: 引以为戒 LOGOS 2006-07-15 18:45
哈哈.活该
幸好我遭遇这种状况的时候只是一个小程序,并且发现了这一点.

你的原创内容都很好.呵呵.我比较喜欢原创的东西.
re: 谈类的初始化 LOGOS 2006-07-13 18:49
嗯.我已经下了boost练习了一下.
发现它不能适合类的初始化,因为初始化的数据是手工编辑的.
boost/serialization的数据格式有3,binary,txt,xml.
binary的基本上不指望能手工编辑.
txt的话基本上看不明白它的结构是如何安排的,也不能手工编辑.
xml的话,虽然有key-value对,但是boost/serialization并不关心配对情形,它参照的只是先后顺序,也就是说:
<key1>5</key1> 和 <key2>5</key2>
<key2>6</key2> <key1>6</key1>
是完全一样的....
顺序过于严格,而key的数量又太多的话,由于编辑数据产生的奇异状况估计没那么容易捕获.

不过对于序列化(非初始化),的确是一个相当棒的方案.
过于极至的东西...我完全看不明白
嗯.也许可以说是分离编译的功能已经被支持,但是那个语法标准没有被MS采纳而已.
re: 分布式设计之DCOM实现 LOGOS 2006-07-10 18:58
汗.你要用RPC的话,用web service比DCOM好多了.
关于OnIdle()的事情我也经历过.
我那次将Ogre嵌入了MFC中,引擎的渲染调用放到OnIdle()中激活.
起初无修改的情况下,需要不断移动鼠标才能激活OnIdle()消息(有可能相反,因为我忘记了,不过问题确实存在).
后来所做的修改是在自己实现的OnIdle()中返回TRUE,而不是返回父类OnIdle()的结果,就能连续不断的产生IDLE消息
re: 数据库中存取BMP图像 LOGOS 2006-07-06 22:06
总算知道怎么做了.
不过觉得ADO提供这样的接口很烂,复杂,特殊.
汗.没有源代码,这种调试也惘然啊
呵呵.你的内容不错.
不过我发现留言比较少,所以给你留一个,希望你能坚持写blog,不然我就没得欣赏了.
re: KMP算法的实现 LOGOS 2006-07-05 18:13
数据结构课程上给过的算法.
说实话,我一直不能从书上那简单的描述中理解这个算法,直到现在仍然如此,惭愧.
re: 谈类的初始化 LOGOS 2006-07-05 10:23
谢谢两位.我搜索了一些boost序列化的文章,的确是挺简洁的.
re: C++中的动态决议 LOGOS 2006-07-04 18:18
那个,现在主流上不把那个特性叫做动态决议
即使真的做不到,也要努力去尝试一下,连试都不试的话,还真是让人鄙视啊.
想到以前应聘一个程序兼职的时候,项目经理也让我立即上机做2个可以随意切换,自动判别数据类型的排序算法.我当时就觉得有点犯晕.虽然不是说写不出来,只是这么折腾不能马上写出来,毕竟平时不是写这些玩的.当时真想马上滚蛋,不过觉得很什么都不做的话会很丢面子啊,就坐下来慢慢写了.
当然,最终写出来啦,只是个人感觉是一段很糟糕的程序.
嗯,在VS2005里面要打开中文名的文件,就要用setlocale,可是一旦改变设置之后....cout就没有办法输出中文了.....
Pimpl,我是支持的
re: 谈类的初始化 LOGOS 2006-07-03 18:16
@pandaxiaoxi
在编辑文章的时候,网站的编辑工具中有一个"代码"的按钮,点击那个你就明白了
re: 编程感悟 LOGOS 2006-06-30 19:26
Arcrest领悟很深啊。^_^
我会去你的blog逛逛的,你可要写些好东西啊
1楼的也许知道。
但是你是用MT选项进行编译的吗?用MT的话应该不会有配置问题的。
共5页: 1 2 3 4 5