C++
跟C++有關(guān)的一些東西
合并Visual Studio本地C++XML注釋文檔和PDB的符號內(nèi)容
摘要: 終于到了激動人心的時刻了。今天的博客內(nèi)容將永遠消除Visual Studio的本地C++XML注釋編譯出來的XML文檔沒有辦法生成可讀文檔的根本原因。
首先介紹一下C++的XML注釋。在啟用注釋之前,我們必須先去工程屬性里面,把[C/C++ -> Output Files -> Generate Xml Documentation Files]設(shè)置成Yes。這樣我們就可以在C++的類啊函數(shù)上面寫XML注釋,然后被編譯成一份帶有符號鏈接的XML注釋集合。這里先給一個GacUI的XML注釋的例子:
閱讀全文
posted @
2012-03-09 17:04 陳梓瀚(vczh) 閱讀(6776) |
評論 (7) 編輯
使用VS API開發(fā)一個PDB Dumper并且可以在沒裝VS2010的計算機上運行
摘要: GacUI到了撰寫文檔的時候了。雖然GacUI本身的功能還沒有全部完成,但是發(fā)布一個alpha版還是可以的。因此GacUI需要一份文檔。自從.net語言支持XML注釋生成文檔之后,Visual Studio的本地C++也支持使用XML注釋了。只要打開了[工程屬性 -> C/C++ -> Output Files -> Generate XML Documentation Files]之后,Visual Studio會在編譯本地C++工程之后,將所有的XML注釋收集起來,放在和可執(zhí)行文件同一個目錄下的
里面。然后我就嘗試bing了一下有沒有從C++的XML文檔生成可讀文檔的工具,結(jié)果發(fā)現(xiàn)只有.net才支持。
后來我稍微研究了一下(詳細內(nèi)容將會在下一篇博客透露),發(fā)現(xiàn)之所以沒人寫這個工具,是因為只有.net的可執(zhí)行文件才包含足夠多的元數(shù)據(jù),而且這些元數(shù)據(jù)是必須的,否則無法生成一個完整的文檔。舉個例子,雖然包含了xml注釋和該注釋所在的符號,但是卻沒有包含該符號的結(jié)構(gòu)信息。結(jié)果你試圖生成一個函 閱讀全文
posted @
2012-03-09 14:43 陳梓瀚(vczh) 閱讀(7036) |
評論 (0) 編輯
回來了(VL++3.0計劃)
摘要: 之前因為非常忙,加上無聊開發(fā)什么類似WCF和WPF的東西,最近終于找到了新的目標了,于是之前那些就不做了。隔了這么久沒法文章主要是因為最近沒寫出什么完整的東西。國慶玩了9天,之前在計劃VL++3.0。
VL++3.0被定位為一個為了數(shù)據(jù)處理而開發(fā)的C++庫。這個庫不的特點在于“其他語言的味道很濃”。C++的庫用起來不爽主要是因為老是要我按下劃線,而且大量應(yīng)用非OOP特性導(dǎo)致IDE的自動補全無法發(fā)揮作用。所以為了彌補這個缺陷我做了一個很不一樣的東西,也就是VL++了。經(jīng)過了三年多的開發(fā),1.0和2.0已經(jīng)相繼出爐,每一次打翻新都解決了一些前一個版本解決不了的問題。
閱讀全文
posted @
2009-10-09 07:17 陳梓瀚(vczh) 閱讀(3438) |
評論 (11) 編輯
C++遠程調(diào)用類操作支持Callback Interface
摘要: 今天展示一下如何使用這里描寫的庫實現(xiàn)一個簡單的聊天工具。Callback Interface是昨晚才加的,但是還有一些features沒實現(xiàn),等做完了再做一個Demo,然后提供源代碼。
使用這個東西可以開發(fā)一些C/S模式的程序,然后只需要將服務(wù)器和客戶端看成同一個程序,將客戶端認為是很多個線程就行了。服務(wù)器端提供一些類給客戶端創(chuàng)建并使用,當這些服務(wù)類要求回調(diào)的時候,客戶端只需要按照回調(diào)的接口實現(xiàn)回調(diào),然后將指針提供給服務(wù)類就行了。剩下來的鏈接啊調(diào)度啊網(wǎng)絡(luò)傳輸?shù)膯栴}就全部不用管了,非常方便。
閱讀全文
posted @
2009-07-17 18:20 陳梓瀚(vczh) 閱讀(3654) |
評論 (10) 編輯
實現(xiàn)C++遠程調(diào)用類的操作。
摘要: 這次展示如何將一個服務(wù)器端的C++類讓客戶端調(diào)用。使用早上剛剛開發(fā)完的工具,用戶可以不用處理任何傳輸過程中的連接和編碼解碼等操作。這次實現(xiàn)一個四則運算的語法分析器,客戶端發(fā)送表達式,服務(wù)器端傳回語法樹(繼承樹那個模型),客戶端將語法樹傳回去,服務(wù)器端傳回運算結(jié)果。
閱讀全文
posted @
2009-07-03 18:07 陳梓瀚(vczh) 閱讀(4121) |
評論 (14) 編輯
C++基于類似反射機制的函數(shù)調(diào)用完成
摘要: 現(xiàn)在不僅可以閱讀類的成員,也可以用函數(shù)名的字符串去調(diào)用函數(shù)并取得結(jié)果了。代碼與這篇文章的實例類似,因此只貼出更改的部分以及程序截圖。
閱讀全文
posted @
2009-06-29 20:47 陳梓瀚(vczh) 閱讀(4789) |
評論 (0) 編輯
殘廢版HTTP Server之小試牛刀
摘要: 為了給C++的反射做Demo,不得不研究一下HTTP的協(xié)議。后來發(fā)現(xiàn)Windows自帶了API可以用,于是就寫了個小東西。程序打開之后,如果檢測到【http://localhost:8080/vczh/FILENAME】這樣子的請求,就將一個目錄下面的東西讀出來,然后返回。于是就可以用IE來運行某個地方的網(wǎng)頁了。代碼如下:
閱讀全文
posted @
2009-06-29 05:19 陳梓瀚(vczh) 閱讀(3897) |
評論 (4) 編輯
C++基于類似反射機制的XML序列化和反序列化完成
摘要: 跟上一篇文章一樣,一樣的數(shù)據(jù)結(jié)構(gòu),但是添加了對數(shù)組、列表和映射的更多的支持。首先是代碼,然后是序列化后的XML文件。
閱讀全文
posted @
2009-06-28 20:12 陳梓瀚(vczh) 閱讀(6498) |
評論 (10) 編輯
重寫了C++的類似反射的工具
摘要: 所謂的反射當然不是自動化的,而是需要自己打標記的。下面會展示兩份文件,告訴大家我這個做了一半的反射是怎么工作的。寫這個東西的主要目的是,將來可以實現(xiàn)序列化,譬如說序列化到流,或者序列化到XML文件,或者做其他的事情等等(譬如說使用類名創(chuàng)建對象并進行修改)。
閱讀全文
posted @
2009-06-25 06:48 陳梓瀚(vczh) 閱讀(3577) |
評論 (4) 編輯
使用COM實現(xiàn)控件內(nèi)容的Drag and Drop
摘要: 查了MSDN,發(fā)現(xiàn)Windows支持Drag and Drop的方法是四個COM:IEnumFORMATETC、IDataObject、IDropSource和IDropTarget。為了讓自己做的一個代碼編輯文本框里面的代碼可以被拖出去拖進來,無奈之下只好實現(xiàn)了這四個東西。
實現(xiàn)了之后,程序剛開始需要調(diào)用OldInitialize(NULL);,結(jié)束的時候調(diào)用OnUninitialize();,控件創(chuàng)建的時候調(diào)用RegisterDragDrop,控件結(jié)束的時候調(diào)用RevokeDragDrop。然后就可以通過這些COM來做Drag and Drop了。下面是接口的實現(xiàn):
閱讀全文
posted @
2009-05-29 21:17 陳梓瀚(vczh) 閱讀(3041) |
評論 (4) 編輯
Combinator Parser修改錯誤處理方法
摘要: 在實驗了CMinus語法分析器的錯誤處理之后發(fā)現(xiàn)一個問題,Combinator Parser返回的錯誤是最上級的錯誤,而不是最底層的錯誤。因此修改了語法分析器的一部分代碼:
閱讀全文
posted @
2009-05-04 02:35 陳梓瀚(vczh) 閱讀(1833) |
評論 (1) 編輯
搞定模板元編程(meta programming)
摘要: 今天閑得無聊,早上起來習慣性瞟一瞟boost,突然看中了它的MPL庫,所以自己實現(xiàn)了一個子集消磨時間。
已經(jīng)實現(xiàn)的功能有:整數(shù)運算、閉包、列表處理等。我用了自己的unit test框架,通過寫一個函數(shù)輸出一個屬于自己的MPL類型的字符串(譬如List
,List,Empty>>產(chǎn)生"[0 , 1]"),然后用自己寫的字符串比較,可以發(fā)現(xiàn)庫里面是否有錯。
一下有兩份代碼,第一份是使用,第二份是自己的MPL的源代碼: 閱讀全文
posted @
2009-04-08 05:17 陳梓瀚(vczh) 閱讀(3728) |
評論 (13) 編輯
實現(xiàn)了Huffman壓縮解壓算法
摘要: 今天終于在流系統(tǒng)里面添加了Huffman的壓縮解壓算法,現(xiàn)在只需要將一個LZ77流加到Huffman流上面,就能同時使用兩種壓縮算法進行壓縮了。我的Huffman算法使用了Canonical Huffman編碼方法進行Huffman樹的生成。
閱讀全文
posted @
2009-01-10 09:16 陳梓瀚(vczh) 閱讀(3513) |
評論 (0) 編輯
修改后的LZ77壓縮解壓源碼
摘要: 這份代碼跟上一次相比,修正了以下部分:
1、可修改的Window Size。壓縮流會把Window Size寫進去,解壓流能夠自動獲取。
2、發(fā)現(xiàn)冗余的地方,每一個標記的壓縮塊節(jié)省了一位。
3、如果用戶一次性寫入的字節(jié)不夠多則會緩存起來,上一版本則是直接壓縮完。這樣會丟失某些原本可以壓縮的數(shù)據(jù),因此修正。
閱讀全文
posted @
2009-01-06 23:35 陳梓瀚(vczh) 閱讀(3029) |
評論 (6) 編輯
LZ77壓縮效果測試
摘要: 今天將我的VL_LZ77Stream修改成了可以設(shè)置窗口大小的壓縮流。我用了一些文件進行壓縮和對比。
閱讀全文
posted @
2009-01-06 08:36 陳梓瀚(vczh) 閱讀(2276) |
評論 (1) 編輯
實現(xiàn)了一個128長度窗口大小的LZ77壓縮解壓算法
摘要: 這個壓縮流是Vczh Library++ 2.0龐大的流與控制器系統(tǒng)的其中一個部分。我準備將其改造成可調(diào)大小的,并且打算添加LZW與Huffman壓縮解壓算法。以下是用C++實現(xiàn)的代碼。
閱讀全文
posted @
2009-01-05 09:47 陳梓瀚(vczh) 閱讀(2737) |
評論 (5) 編輯
分解復(fù)雜的命令行參數(shù)
摘要: 當我們的程序需要運行在命令行環(huán)境下的時候,分解復(fù)雜的命令行參數(shù)往往成為一件不難但又麻煩的事情。我們經(jīng)常發(fā)現(xiàn).net的開發(fā)工具的命令行格式都是"/parameterA:valueA /parameterB:valueB"。如果我們希望使用這種格式的命令行參數(shù)的話,如何分析就成為我們需要解決的一個問題。
閱讀全文
posted @
2008-12-24 01:13 陳梓瀚(vczh) 閱讀(2186) |
評論 (2) 編輯
Vczh Serialization Demo :在網(wǎng)絡(luò)上傳遞復(fù)雜對象
摘要: 今天將Serialization進行了重構(gòu),讓其支持容器。于是使用以前的基礎(chǔ)設(shè)施就能完成這個Demo了。代碼如下:
閱讀全文
posted @
2008-11-22 02:26 陳梓瀚(vczh) 閱讀(2143) |
評論 (6) 編輯
我做的一個C++用的Serialization庫(含部分源碼)
摘要: 眾所周知,boost里面有一個Serialization。不過我這個跟boost的有本質(zhì)上的差別。boost的Serialization是通過重載操作符將一個對象與一個流進行讀寫,而我則通過記錄類的成員變量來自動產(chǎn)生相應(yīng)的讀寫動作。使用方便。
閱讀全文
posted @
2008-11-21 09:09 陳梓瀚(vczh) 閱讀(2836) |
評論 (9) 編輯
Vczh GUI Framework Preview完成!Preview Demo開始制作!
摘要: 為了展示Vczh Library++2.0中GUI Framework的強大威力,我制作了一個Regular Expression Debugger。這個軟件可以用來調(diào)試正則表達式,主要用于檢查正則表達式語法、觀察表達式的語法樹以及各種狀態(tài)機、還有匹配測試等。這個Demo已經(jīng)接近完成。GUI Framework和Demo的代碼將在Demo徹底完成的時候放上來。下面貼圖和創(chuàng)建界面的代碼:
閱讀全文
posted @
2008-08-23 23:18 陳梓瀚(vczh) 閱讀(2096) |
評論 (6) 編輯
Status Bar完成
摘要: Status Bar所提供的消息相當?shù)脑幃悺tatus Bar里面的Items的數(shù)量以及寬度要一次性設(shè)置好,每次修改的時候都要推翻重建一次,只不過里面的Text倒是可以單獨改掉。在XP底下有效的raise border似乎在Vista就沒有了。看來Vista已經(jīng)從偽3D徹底轉(zhuǎn)向了2D了。
Status Bar在CreateWindowEx的時候會自動將自己放在窗口的最底下,每一次修改Status Bar的尺寸的時候,它又會自動把自己放在窗口的最底下。當然,你可以讓他出現(xiàn)在最上面。雖然如此,但是我封裝的時候還是想自由地修改尺寸和位置,當且僅當我想讓他出現(xiàn)在窗口最下面的時候他才出現(xiàn)在窗口最下面,于是我只好截獲Status Bar的WM_SIZE消息并扔掉了。
當初為每一個控件都自動Subclass掉的想法還真是正確啊……
閱讀全文
posted @
2008-08-15 23:34 陳梓瀚(vczh) 閱讀(1547) |
評論 (1) 編輯
TrackBar迅速做完
摘要: Track Bar很是人性化,不會跟自己之前的經(jīng)驗沖突。Track Bar下面那些杠杠原來是自己插入的,還能改,還真是想干啥就能干啥……
閱讀全文
posted @
2008-08-15 08:28 陳梓瀚(vczh) 閱讀(1769) |
評論 (1) 編輯
Scroll Bar完成
摘要: Win32 API為了讓控件更為有用真是煞費苦心,不僅Tab沒有提供控件可見控制,連Scroll Bar點擊的時候竟然是不修改Position的,要我在每一個消息里用SBM_SETSCROLLINFO來設(shè)置當前的位置。而且當前的位置的獲得還不是一致的,根據(jù)消息的不同而不同。真是故意為難人啊。
閱讀全文
posted @
2008-08-15 06:26 陳梓瀚(vczh) 閱讀(1430) |
評論 (1) 編輯
Vczh GUI Framework取材決定
摘要: 今天不小心看到了http://www.antlr.org/works/index.html,我一直認為ANTLR是LR(k)分析器,后來我錯了,原來只是LL(k)。我以前寫的一個Vczh Syngram是LR(k)的畸形,今天看了居然連LL(k)都能有GUI,我不做一個豈不是對不起自己?
閱讀全文
posted @
2008-08-14 05:21 陳梓瀚(vczh) 閱讀(1622) |
評論 (2) 編輯
TabControl封裝完成
摘要: 原來API提供的TabControl只是改改樣式而已,客戶區(qū)連TabPage標簽也算在了里面,點擊不同的TabPage也不會自動切換子控件的可見屬性。這些都要封裝啊囧……
在這個設(shè)計里,雖然TabPage是一個普通的類,但是每一個TabPage都會自動附帶一個Static Control,并在適當?shù)臅r機修改大小以及修改可見屬性。子控件實際上需要放在TabPage的Static Control里,不然的話其實可以連TabPage標簽都擋掉。
閱讀全文
posted @
2008-08-13 06:33 陳梓瀚(vczh) 閱讀(1713) |
評論 (2) 編輯
TreeView完成
摘要: 囧,實在是囧啊。比起ListView,TreeView還真是簡單了無窮多倍,一個晚上就搞定了。貼貼代碼和圖。
閱讀全文
posted @
2008-08-11 05:05 陳梓瀚(vczh) 閱讀(2298) |
評論 (6) 編輯
ListView封裝完了,放代碼
摘要: ListView實在是超級無敵復(fù)雜地難封裝啊,Vista下的ListView簡直是萬能的,以至于我萌生了將grid和tree-grid都用ListView來實現(xiàn)的想法。當然這只是想一想,暫時不想做。這個ListView花了1700行代碼封裝完成,共有4個類,分別是item、column、group和listview,listview自己的事件16個。
代碼和圖片內(nèi)詳
閱讀全文
posted @
2008-08-09 02:36 陳梓瀚(vczh) 閱讀(6689) |
評論 (27) 編輯
使用ComboBox在輸入路徑的時候自動顯示文件名
摘要: 今天封裝好了ComboBox,于是做了個Demo。這個Demo只有一個窗口,上面放著一個ComboBox。如果往里面打文件名的話,會把當前路徑下的被篩選過的文件名填充到ComboBox,并自動打開下拉列表。
閱讀全文
posted @
2008-08-04 07:20 陳梓瀚(vczh) 閱讀(2228) |
評論 (3) 編輯
新增ListBox
摘要: 封裝Common Control Library 6.0的API越來越順手了。雖說要消滅BEGIN_MESSAGE_MAP之類的代碼,不過寫起來也不容易。BEGIN_MESSAGE_MAP不能動態(tài)替換,所以我換成了類似C#的Event和Delegate那樣子的東西。如果不需要動態(tài)替換的話,實際上并沒有什么區(qū)別,唯一的區(qū)別就在于你可以利用VC++的Intellisense去查看自己想要的事件,而不是將什么WM_LBUTTONDOWN之類的消息記住了。
閱讀全文
posted @
2008-08-03 08:48 陳梓瀚(vczh) 閱讀(1973) |
評論 (8) 編輯
UI庫添加Edit、Static和Placement
摘要: 為了緩解疲勞,我網(wǎng)絡(luò)和UI同時做。封裝UI真是麻煩啊,一大堆習慣的東西原來是沒有的,什么tab轉(zhuǎn)移焦點,什么控件對齊,都要自己做。后來就囧了,干脆實現(xiàn)一個Placement來自動調(diào)整控件的位置。
閱讀全文
posted @
2008-08-03 04:54 陳梓瀚(vczh) 閱讀(1925) |
評論 (8) 編輯
Vista的新控件
摘要: Vista提供的Common Control Library 6.0的BUTTON類中提供了兩種新的按鈕:Command Link和Split Button。只需要在CreateWindow里面指定BS_COMMANDLINK與BS_SPLITBUTTON就可以獲得這兩種新的控件了。
閱讀全文
posted @
2008-07-22 06:41 陳梓瀚(vczh) 閱讀(1941) |
評論 (10) 編輯
使用XPath輕松獲得VC9.0工程文件包含的所有代碼文件
摘要: 玩了幾天空之軌跡 FC,終于快結(jié)束了。距離最后一門考試還有3天,于是把整個XPath的代碼寫完了。于是試用一下。
現(xiàn)在展示一下我那個XPath的使用方法:
1 VL_List
Result;
2 VL_XPath XPath(L"http://Files//File[contains(@RelativePath,\".cpp\") or contains(@RelativePath,\".h\")]");
3 XPath.Query(Doc.GetRootElement(),Result); 第一行聲明一個XML節(jié)點列表,第二行構(gòu)造一個XPath,第三行將XPath作用在一個XML文檔的根節(jié)點上。這個XPath用于把VC++9.0的工程文件中包含的所有.h文件和.cpp文件提取出來。雖然Files里面包含若干Filter,每一個Filter包含一些Filter和File,不過輸出結(jié)果Output.xml把所有的滿足要求的File節(jié)點都找了出來。
閱讀全文
posted @
2008-06-27 20:55 陳梓瀚(vczh) 閱讀(2411) |
評論 (2) 編輯
XPath語法分析器完成!
摘要: 花了2個小時終于把XPath的數(shù)據(jù)結(jié)構(gòu)和語法分析做完了。這個XPath的語法完全按照MSDN所說的做,除了減少了2個跟DTD相關(guān)的函數(shù)和11個Microsoft擴展的"ms:"開頭的函數(shù)以外,剩下的功能將一概支持。
代碼寫完了之后,我打開MSDN找里面的幾十條XPath Example進行測試,發(fā)現(xiàn)了一些Bug,然后修正。現(xiàn)在MSDN所列舉的所有例子都通過了,接下來只有自己寫Example進行測試了。因為MSDN的例子并沒有覆蓋所有等價類。
下面是運行結(jié)果和測試程序的代碼:
閱讀全文
posted @
2008-06-21 00:34 陳梓瀚(vczh) 閱讀(2454) |
評論 (2) 編輯
做了一個XML解釋器
摘要: 為了紀念自己為了明天的XML考試復(fù)習了半天,特地根據(jù)MSDN描述的標準做了一個XML的解釋器。接口類似DOM和SAX的混合體。
目前什么都不支持,不過以后打算做完DTD和XPath。XSD和XSL就先算了。反正是寫著玩的。把代碼貼出來先。這個代碼使用了自己開發(fā)的一套C++基礎(chǔ)庫。
閱讀全文
posted @
2008-06-19 05:28 陳梓瀚(vczh) 閱讀(3156) |
評論 (8) 編輯
筆試
posted @
2008-05-12 10:59 陳梓瀚(vczh)|
編輯
正則表達式——一點小插曲
摘要: 有個同學(xué)近來一直在做一個魔獸世界戰(zhàn)況分析(名字好像叫DeusCraft),說是很火。只是用C#覺得不是很爽,想移植到C++上面來。但是那個東西在分析的時候用了好多正則表達式,于是只好找了些正則表達式引擎來測。
測試的文件一共有27萬多行,首先通過一個檢查時間的正則表達式。如果成功,則在接下來的20幾條正則表達式中驗證字符串命中哪一條,然后開始做剩余的工作。原先在C#上花了12秒分析,后來換了boost的正則表達式花費40秒,然后從MSR上找了一個號稱比boost快4倍的正則表達式引擎,結(jié)果還是40秒(都是微軟的,咋差距這么大……)。于是同學(xué)用他自己做的正則表達式引擎花了23秒(此數(shù)據(jù)不太記得),我用我以前那個東西花費108秒(-_-|||)。
于是我們這幾天就在優(yōu)化正則表達式引擎,到了今天同學(xué)那個花費13秒,我那個12秒。Visual Studio 2008 Team System上有一個Performance Wizard,用于在程序執(zhí)行的過程中統(tǒng)計各個函數(shù)所占用的時間,可以方便定位,看出效率瓶頸,非常好用。
閱讀全文
posted @
2008-05-07 05:21 陳梓瀚(vczh) 閱讀(15441) |
評論 (21) 編輯
尋路算法:模仿Tower Defense Flash做了一個小游戲
摘要: 第一次用C#寫游戲。在C#上寫算法果然是一個挑戰(zhàn),時間復(fù)雜度太大的話造成的后果比C++明顯好多,于是總是盡量把東西做成O(n)或者O(nlogn)。這次就在上面實現(xiàn)了一個尋路算法。
這個尋路算法是這樣的:在16×16的方格上有一些終點,東西在格子上只能上下左右行動。每一個格子需要記錄到其中一個終點的最近的路的第一個方向(就像三層循環(huán)的尋路算法一樣,最后給出矩陣的那個)。
閱讀全文
posted @
2008-04-30 05:29 陳梓瀚(vczh) 閱讀(4448) |
評論 (5) 編輯
今天發(fā)現(xiàn)自己的array類太慢
摘要: Lazy Compile使用Syngram動態(tài)創(chuàng)建語法分析器的代碼實在是太慢了,debug竟然需要8秒鐘來處理91條比較長的文法。于是我打開了Visual Studio 2008的Performance Wizard查看運行時消耗的資源,結(jié)果發(fā)現(xiàn)竟然都消耗在自己那個array類的operator[]里面了。那一段代碼是用來檢查文法的左遞歸引用關(guān)系是否出現(xiàn)環(huán)的。結(jié)果就把用到的四個array全部換成bool*了,當時只是為了創(chuàng)建二維數(shù)組方便使用了array類。
過后,debug的時間立刻降為2秒鐘不到,于是我又打開Performance Wizard看了一次,這次消耗的瓶頸終于轉(zhuǎn)移到一個合理的地方了。
結(jié)果:array竟然比指針慢了無窮多倍,得找個時候重新寫一次。不過這段代碼好象是去年寫的,也沒經(jīng)過什么性能測試,也難怪發(fā)現(xiàn)不了問題。在此帖上代碼,等Lazy Script寫完了重新審查一下自己的那套模板庫(NTL,Non-standard Template Library,娃哈哈)。
閱讀全文
posted @
2008-04-27 19:53 陳梓瀚(vczh) 閱讀(2626) |
評論 (6) 編輯