re: VS2005類向導的問題 LOGOS 2006-12-31 16:37
基類析構函數,virtual之
re: 勵志2007 LOGOS 2006-12-30 18:03
[quote]然而卻無法改變一個軟件的質量[/quote]
呵呵。一個團隊做出來的軟件對比個兒而言太龐大了,通常大多數人就像運作中的一個齒輪,即使運作方向錯誤,一個齒輪很難逆轉的。
re: 3D 引擎中 GUI 渲染的優化 LOGOS 2006-12-24 11:08
D3DUSAGE_DYNAMIC,沒有使用這個嗎?
re: C++是否可以考慮增加智能指針 LOGOS 2006-12-22 14:26
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-18 12:42
不錯的資料,好文。
re: 聊內存池技術 LOGOS 2006-10-15 21:25
一個是基于模版的分配器,另一個是基于鏈表池的分配器
re: 雜亂的設計念頭 LOGOS 2006-09-20 17:10
其實最終確定下來的念頭是,要做一個collide AI模塊,把所有麻煩的東西集中到一起。
re: 由一個空對象指針引起的思考 LOGOS 2006-09-20 12:45
呵呵。如果從匯編,甚至機器碼的角度來看待程序,那么,很多語言特性將不復存在。因為這些特性都是在編譯期得到保證的,比如:public, const等。
這也就是,很多時候憑著一個指針就可以在C/C++中走天下了。
不過對于接口類(全是純虛函數),透過指針的操作要三思而行。
re: 使用UNICODE提高效率 LOGOS 2006-09-12 09:10
看你的東東越來越辛苦了。我必須看一遍,關掉頁面,再打開,寫評論,不然memory就被吃光了。
unicode的本質意義是簡便的國際化,但是并不是說可以很隨意的使用unicode了,因為軟件常常依賴于別的庫,并不是每一個庫都有unicode實現的。
個人覺得,unicode的那點加速無關緊要。如果你的軟件慢了,還是從別的地方進行優化的好。
re: 讀《UNIX編程藝術》第四章 LOGOS 2006-09-11 09:45
呵呵。你如果時間緊張的話,每天看個3,5頁就可以了。
好書是值得慢慢看,并且多看幾遍的。
這個頁面(不知道是否包括你站點上其他的頁面),可以造成我瀏覽器的內存泄漏,會把整個機器吃了.
我用長風瀏覽器(IE內核).....
re: 犯了一個最愚蠢的錯誤=.= LOGOS 2006-09-07 12:57
早該如此了.
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
電子版我也有.不過沒敢看.那種字體顏色和背景....看完眼睛真的會垮掉的
re: IPC,讀《Unix編程藝術》某章感 LOGOS 2006-08-14 19:35
呵呵.怎么說呢.
討論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: 亂談-熟練掌握和學習方法 LOGOS 2006-07-16 12:59
支持.你所說的入門學習方式的確很正確.
只瀏覽概念,熟悉整體框架.
具體的細節,留到用的時候再去查找就是了.目前很多書都跟字典一個德性.
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的數量又太多的話,由于編輯數據產生的奇異狀況估計沒那么容易捕獲.
不過對于序列化(非初始化),的確是一個相當棒的方案.
re: [算法問題]判斷一個數是不是2的冪? LOGOS 2006-07-11 19:30
過于極至的東西...我完全看不明白
嗯.也許可以說是分離編譯的功能已經被支持,但是那個語法標準沒有被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
那個,現在主流上不把那個特性叫做動態決議
re: 今天我拒絕了一個應聘的女程序員 LOGOS 2006-07-04 12:43
即使真的做不到,也要努力去嘗試一下,連試都不試的話,還真是讓人鄙視啊.
想到以前應聘一個程序兼職的時候,項目經理也讓我立即上機做2個可以隨意切換,自動判別數據類型的排序算法.我當時就覺得有點犯暈.雖然不是說寫不出來,只是這么折騰不能馬上寫出來,畢竟平時不是寫這些玩的.當時真想馬上滾蛋,不過覺得很什么都不做的話會很丟面子啊,就坐下來慢慢寫了.
當然,最終寫出來啦,只是個人感覺是一段很糟糕的程序.
嗯,在VS2005里面要打開中文名的文件,就要用setlocale,可是一旦改變設置之后....cout就沒有辦法輸出中文了.....
re: 談類的初始化 LOGOS 2006-07-03 18:16
@pandaxiaoxi
在編輯文章的時候,網站的編輯工具中有一個"代碼"的按鈕,點擊那個你就明白了
re: 編程感悟 LOGOS 2006-06-30 19:26
Arcrest領悟很深啊。^_^
我會去你的blog逛逛的,你可要寫些好東西啊
re: 關于兩個編譯選項 MD 和 MT LOGOS 2006-06-30 19:20
1樓的也許知道。
但是你是用MT選項進行編譯的嗎?用MT的話應該不會有配置問題的。