GacUI 0.4.0.0 發布啦
摘要: 昨晚終于發布了GacUI 0.4.0.0,也就是第五個release了?,F在GacUI的源代碼可以在三個地方找到,分別是:
Codeplex:http://gac.codeplex.com
Github:https://github.com/vczh/gac
主頁:http://www.gaclib.net
這兩個月在開發GacUI的對象的反射系統之外,一直在做Windows 8的皮膚?,F在的GacUI已經擁有了兩個皮膚,一個是模仿Windows 7的,另一個是模仿Windows 8的。GacUI在啟動的時候,會根據Windows的版本來自己選擇要用哪個皮膚做缺省皮膚。使用g::NewXXX()函數創建的控件都會直接使用當前的皮膚(如果沒有用SetCurrentTheme替換掉的話,就是缺省皮膚)來創建控件,否則,直接new控件類的話,要傳入一個創建好的皮膚對象。
閱讀全文
posted @
2012-10-18 22:16 陳梓瀚(vczh) 閱讀(3773) |
評論 (7) 編輯
合并Visual Studio本地C++XML注釋文檔和PDB的符號內容
摘要: 終于到了激動人心的時刻了。今天的博客內容將永遠消除Visual Studio的本地C++XML注釋編譯出來的XML文檔沒有辦法生成可讀文檔的根本原因。
首先介紹一下C++的XML注釋。在啟用注釋之前,我們必須先去工程屬性里面,把[C/C++ -> Output Files -> Generate Xml Documentation Files]設置成Yes。這樣我們就可以在C++的類啊函數上面寫XML注釋,然后被編譯成一份帶有符號鏈接的XML注釋集合。這里先給一個GacUI的XML注釋的例子:
閱讀全文
posted @
2012-03-09 17:04 陳梓瀚(vczh) 閱讀(6775) |
評論 (7) 編輯
使用VS API開發一個PDB Dumper并且可以在沒裝VS2010的計算機上運行
摘要: GacUI到了撰寫文檔的時候了。雖然GacUI本身的功能還沒有全部完成,但是發布一個alpha版還是可以的。因此GacUI需要一份文檔。自從.net語言支持XML注釋生成文檔之后,Visual Studio的本地C++也支持使用XML注釋了。只要打開了[工程屬性 -> C/C++ -> Output Files -> Generate XML Documentation Files]之后,Visual Studio會在編譯本地C++工程之后,將所有的XML注釋收集起來,放在和可執行文件同一個目錄下的
里面。然后我就嘗試bing了一下有沒有從C++的XML文檔生成可讀文檔的工具,結果發現只有.net才支持。
后來我稍微研究了一下(詳細內容將會在下一篇博客透露),發現之所以沒人寫這個工具,是因為只有.net的可執行文件才包含足夠多的元數據,而且這些元數據是必須的,否則無法生成一個完整的文檔。舉個例子,雖然包含了xml注釋和該注釋所在的符號,但是卻沒有包含該符號的結構信息。結果你試圖生成一個函 閱讀全文
posted @
2012-03-09 14:43 陳梓瀚(vczh) 閱讀(7034) |
評論 (0) 編輯
最終還是決定直接以源代碼方式發布GacUI了
摘要: 在制作GacUI讀pdb生成代碼的過程中,感受到了C++語言設計和dll的需求之間的鴻溝。對于一個充分利用了C++各種功能的類庫來說,制作成dll具有非常大的困難,特別是在函數返回POD(Plain Old Data)的引用,和輸入輸出帶有泛型的類上面。所以現在還是決定以源代碼的方式來發布GacUI。但是pdb生成代碼并沒有白做,因為反射還是存在的。但是因為GacUI一共有48000行代碼,80多個源代碼文件,直接發布使用起來總是不方便。所以我寫了個小工具,根據xml的配置來將源代碼合并成少數幾個比較大的代碼文件。這樣使用的時候,只需要直接把幾個cpp拖進工程里面,就可以使用了。而且根據之前發布的一個投票,似乎大家也最喜歡這種方法。因此這次的決定,僅僅刪掉了作為backup plan的dll方法。
這里我給出小工具的代碼和配置文件。這個配置文件是基于GacUI做出來的,不過大家可以修改它,以便用于自己的工程上面:
閱讀全文
posted @
2012-02-29 05:34 陳梓瀚(vczh) 閱讀(4012) |
評論 (9) 編輯