posted @ 2010-08-01 13:19 lymons 閱讀(7407) | 評論 (3) 編輯 |
C++
在Java中有叫做synchronized這樣一個方便的關鍵字。使用這個關鍵字的話,就可以像下面那樣能夠簡單的進行"同步"method. 然而,被同步的method并不表示它就能在多線程中同時被執行. 閱讀全文
posted @ 2010-07-17 12:17 lymons 閱讀(3365) | 評論 (0) 編輯 |
我們在這里,將會在插件中加入右鍵彈出菜單功能。也就是如下圖那樣,在文檔區內,點擊鼠標右鍵時會彈出的菜單。我們將在這個菜單中加入屬于我們插件的菜單項目”testplug”。
加入菜單項目的效果如下圖:
讓我們看看,咱們創建的插件工程中,給我們提供了什么樣的入口代碼了吧。
1. 在函數BuildModuleMenu中添加菜單項。
在文檔的視圖里才加入菜單項的入口函數是BuildModuleMenu,它的初始代碼是下面那樣:
void testplug::BuildModuleMenu(const ModuleType type, wxMenu* menu, const FileTreeData* data)
{
//Some library module is ready to display a pop-up menu.
//Check the parameter \"type\" and see which module it is
閱讀全文
posted @ 2010-04-29 20:58 lymons 閱讀(2325) | 評論 (0) 編輯 |
① 從File主菜單中,選擇new -> Projects… , 打開工程創建向導對話框。
② 在Projects的列表框中,選擇 Code::Blocks plugin ,然后點擊 Go 按鈕,進入插件創建向導對話框。
③ 創建向導的第一個畫面中有重要信息說明。請注意的是里面提到了必須設置#cb, #wx這兩個全局變量。不過,還好咱們在《CodeBlock插件開發指南 一》中已經對這兩個變量進行了設置。咱們在這里,直接點擊Next進入到下一個畫面即可。
閱讀全文
posted @ 2010-04-20 22:21 lymons 閱讀(5142) | 評論 (0) 編輯 |
By Lymons(lymons@gmail.com) 2010/4/14
CodeBlocks是一個優秀的C/C++ IDE開發環境,另外它也是開源的,也是跨平臺的.你能夠利用它的源代碼進行二次開發,也能為它制作自己的插件. 它的GUI是利用了跨平臺的wxWidgets庫來做成的,所以它才能夠實現跨平臺.
下面將介紹CodeBlock的插件制作方法,當然它必須得通過編寫自己的程序才能實現,所以懂得一些C++的編程知識能夠幫你更容易去理解它的內容.
1. 準備CodeBlocks的開發環境 閱讀全文
posted @ 2010-04-17 16:22 lymons 閱讀(9646) | 評論 (3) 編輯 |
Unix下的信號提供了一個簡單的IPC機制,也就是當進程收到一個信號后會異步(asynchronous) 地調用你的信號處理函數(也叫做句柄),不管你的代碼是否已經處在執行的過程之中。 而在Windows 2000(譯者注:版本高于W2k的Windows平臺)下就需要用到一個設備驅動,以便你能使用異步過程調用(asynchronous procedure calls , 簡稱APCs或者APC) 來達成同樣的效果.
By Panagiotis E.
August 01, 2001
URL:http://www.ddj.com/windows/184416344
翻譯:Lymons (lymons@gmail.com)
閱讀全文
posted @ 2010-04-13 10:29 lymons 閱讀(2326) | 評論 (0) 編輯 |
我拿到了一個任務,就是寫一篇關于游戲引擎設計的報告。為此,我開始用C++來實現一個框架,它包含了一些設計模式(Design Patterns)的基本實現以及類似于基于原則設計(Policy based design)的一些C++概念。而本文就是談論我的設計,并且里面也包括一些可編譯的代碼片斷。
背景
在本文描述的框架中使用了一些著名的設計范式(design paradigms),如:基于原則的設計(Policy based design),裝飾者(Decorator)和策略(Strategy)模式,以及相應的C++的代碼實現。
代碼的功能說明
基于原則的設計是用于游戲的設置
在進入到足球游戲引擎設計的細節之前,先討論一下游戲中的設置。在任何游戲中都允許用戶在游戲開始期間來選擇游戲的難度。我假設這里有三種難度級別,即:低級,中級,高級。因為這些級別允許在開始的時候被選擇,這就給了我們一個機會可以利用模板類來使用基于原則的設計(基于Andrei Alexandrescu的書《Modern C++ Design》)。 閱讀全文
posted @ 2009-12-22 14:57 lymons 閱讀(1992) | 評論 (1) 編輯 |
在編寫ASP代碼時,可以使用單引號來注釋掉不要的代碼。在Visual Studio的IDE環境中也支持使用塊注釋的方式把一整段的代碼注釋掉。
不過有的時候,也有要求用<%' ~ %>這種注釋格式來注釋掉HTML中的代碼,但是包括Visual Studio在內的一些流行的編輯器都不支持這種格式的注釋方式。不過還好,Visual Studio的IDE支持宏的功能,因此我們可以使用VBScript宏來定制任意格式的代碼注釋 閱讀全文
posted @ 2009-12-21 21:13 lymons 閱讀(2329) | 評論 (0) 編輯 |
注:晚捆綁(late binding)可能來自c++ 閱讀全文
posted @ 2009-02-12 16:08 lymons 閱讀(2851) | 評論 (5) 編輯 |
posted @ 2009-02-02 13:08 lymons 閱讀(2072) | 評論 (0) 編輯 |
factory method:定義一個用來創建對象的接口,并讓子類來決定實例化哪一個具體的類(產品),從而讓具體類的實例化延遲到子類。
他們的主要區別在于,abstract factory強調的是把諾干個產品按照風格進行分類, 為相同風格的一系列對象(產品)提供一個工廠類,因此,只要改變工廠類的實例,就能到達改變這一組產品的風格和外觀。而這一風格的產品的生產可以利用工廠方法來實現. 這其中, factory method強調的則是先在父類實現創建對象的行為,具體的行為或者具體對象(產品)的實例化則延遲到子類實現。 閱讀全文
posted @ 2009-02-02 12:58 lymons 閱讀(669) | 評論 (0) 編輯 |
posted @ 2009-02-02 12:52 lymons 閱讀(433) | 評論 (0) 編輯 |
posted @ 2009-02-02 11:28 lymons 閱讀(543) | 評論 (0) 編輯 |
posted @ 2009-02-01 15:41 lymons 閱讀(1489) | 評論 (1) 編輯 |
posted @ 2008-12-29 17:11 lymons 閱讀(2719) | 評論 (0) 編輯 |