因已發佈 CxxlMan2 程式庫,即日起不再對 CxxlMan 程式庫 進行更新和修改
2015年10月10日 星期六
2014年5月22日 星期四
delegate 2.2 元件
相較於先前的版本,改用 operator=()/operator+=() 取代 Bind() 的功能,operator-=() 取代 Unbind 的功能;成員函數不再能直接設定,而是先用 class bind 包裝之後再設定給 delegate。簡介如下:
下載點:
https://www.dropbox.com/s/b1zht5aid8hrakc/delegate%202.2.7z
http://pan.baidu.com/s/1jG1bqCm
- 須搭配 CxxlMan 程式庫
- 可代理一般函數指標或成員函數指標(須先用 bind 包裝),參數最多 10 個
- 對於有回傳值的的格式,只能設定一筆函數指標資料,多次設定後 者會取代前者,若未設定函數指標資料,執行叫用將會 throw DelegateErr_NoBind
- 對於無回傳值的的格式,可以設定多筆函數指標資料,且會傳回一個 DelegateID,此 ID 可刪除用
- 設定的方式採用運算元 operator=()(用於取代,即原有的全刪除),或 operator+=()(用於增加)
- 刪除的方式採用運算元 operator-=(ID)(只刪一個),或用 Clear() 全刪除
下載點:
https://www.dropbox.com/s/b1zht5aid8hrakc/delegate%202.2.7z
http://pan.baidu.com/s/1jG1bqCm
2014年5月19日 星期一
cxxl3d.tk 轉址失效
由於 cxxl3d.tk 轉址失效了,以下做臨時因應:
- 原 CxxlMan 程式庫 的站點可由 https://sites.google.com/a/cxxl3d.tk/cxxlman/ 進入。
- http://blog.cxxl3d.tk 暫時由 http://cxxl3d.blogspot.tw/ 進入。
- 信箱暫時停用。
2014年4月18日 星期五
delegate 元件
相當於 c# 的 delegate、boost 的 function,下載點:
https://www.dropbox.com/s/2qwqb516v7fi47s/delegate%202.1.7z
http://pan.baidu.com/s/1kT0rOLx
- 須搭配 CxxlMan 程式庫
- 可代理一般函數指標或成員函數指標,參數最多 10 個
- 對於有回傳值的的格式,只能 bind 一筆函數指標,若多次呼叫
Bind(), 後者會取代前者,若無 bind,執行函數物件叫用(operator())將
會 throw DelegateErr_NoBind
- 對於無回傳值的的格式,可以 bind 多筆函數指標資料,用 Bind() 會
傳回一個 DelegateID,此 ID 可給 Unbind() 刪除用
https://www.dropbox.com/s/2qwqb516v7fi47s/delegate%202.1.7z
http://pan.baidu.com/s/1kT0rOLx
- 須搭配 CxxlMan 程式庫
- 可代理一般函數指標或成員函數指標,參數最多 10 個
- 對於有回傳值的的格式,只能 bind 一筆函數指標,若多次呼叫
Bind(), 後者會取代前者,若無 bind,執行函數物件叫用(operator())將
會 throw DelegateErr_NoBind
- 對於無回傳值的的格式,可以 bind 多筆函數指標資料,用 Bind() 會
傳回一個 DelegateID,此 ID 可給 Unbind() 刪除用
以下是示範程式,
2014年4月3日 星期四
CxxlMan 程式庫源碼
先要有一套 svn 使用端的工具,比如 TortoiseSVN,Checkout URL 填入 http://cxxlman.googlecode.com/svn,即可取得源碼。其內不包含 Make,僅是作為參考、瞭解之用。
程式庫的取得和用法在 http://cxxlman.cxxl3d.tk/
程式庫的取得和用法在 http://cxxlman.cxxl3d.tk/
2013年10月13日 星期日
CxxlMan 程式庫注意事項--不要在建構函數中將 this 放入 Smart_Ptr
如下:
A::A() { Smart_Ptr(this); }這樣從建構函數返回後,A 的物件也會被銷毀,最常發生的情況應如下:
void F(const Smart_Ptr<A> &A_Arg); // 假設沒有用 Smart_Ptr 保存 A
A::A() { F(this); }常不自覺就犯下那樣的錯誤。
2013年9月24日 星期二
cxxlOIS 元件
OIS 是一個跨平台的處理輸入裝置的函式庫,以物件導向的方式設計。OIS可以支援的輸入裝置主要是鍵盤、滑鼠、搖桿,同時也支援力回饋裝置--引言自 與Ogre共舞:第六步,敲敲鍵盤、動動滑鼠。
由於編寫使用 OIS 的程式碼也蠻繁雜的,再加上為了搭配 CxxlMan 函數庫,所以寫了這個元件,把 OIS 包裝起來,並提供隨時更改 Event Handler 和 Windows 的 HWND 的能力。
由於編寫使用 OIS 的程式碼也蠻繁雜的,再加上為了搭配 CxxlMan 函數庫,所以寫了這個元件,把 OIS 包裝起來,並提供隨時更改 Event Handler 和 Windows 的 HWND 的能力。
2013年6月8日 星期六
CxxlSocket 通訊元件
這元件主要在簡化使用 Winsock 的程式設計,提供 Server 和 Client 兩個部份,Server 可接受多個 Client 的全雙工連線,並採取一般比較容易使用的 Event 機制。
內含原始檔及範例,請解壓到 C:\CxxlSocket 讓範例所用的路徑符合,下載點:
https://www.dropbox.com/s/guykgvnw383u5cj/CxxlSocket.7z
內含原始檔及範例,請解壓到 C:\CxxlSocket 讓範例所用的路徑符合,下載點:
https://www.dropbox.com/s/guykgvnw383u5cj/CxxlSocket.7z
2012年12月21日 星期五
SList
這是一個 template class,須和 CxxlMan 程式庫一起使用,主要在提供 cxxlList 沒法做到的任意節點的提取和增刪。
下載點:https://www.dropbox.com/s/1drtnz71k8sumjz/SLIST.HPP
下載點:https://www.dropbox.com/s/1drtnz71k8sumjz/SLIST.HPP
2012年8月19日 星期日
CSmart_Ptr 智慧指標(計數器模式)
CSmart_Ptr 採用計數器技術,所以不能用於有循環參照的物件。
CSmart_Ptr 可放入任何種類的物件,包括 cxxlObject 物件,但已放入 Smart_Ptr、PSmart_Ptr 或 P2Smart_Ptr 的物件,不能再放入 CSmart_Ptr。而放入過 CSmart_Ptr 的物件也不能再放入其他智彗指標,包括 CSmart_Ptr。
下載點:
CSmart_Ptr 可放入任何種類的物件,包括 cxxlObject 物件,但已放入 Smart_Ptr、PSmart_Ptr 或 P2Smart_Ptr 的物件,不能再放入 CSmart_Ptr。而放入過 CSmart_Ptr 的物件也不能再放入其他智彗指標,包括 CSmart_Ptr。
下載點:
2012年7月1日 星期日
MLEditor 多國語言編輯器
這是 ML (多國語言插件) 的輔助程式,可幫助程式設計師建立 ML 所用的語言轉換檔( .Lang 的檔案) 。下載點:
https://www.dropbox.com/s/plo4mjd4nsrko4u/MLEditor%201.0.0.7z
內含不須安裝的執行檔和原始程式,若要在未安裝 vs2008 的電腦上直接執行,可能還要再安裝 Microsoft Visual C++ 2008 SP1 可轉散發套件 (x86)。
https://www.dropbox.com/s/plo4mjd4nsrko4u/MLEditor%201.0.0.7z
內含不須安裝的執行檔和原始程式,若要在未安裝 vs2008 的電腦上直接執行,可能還要再安裝 Microsoft Visual C++ 2008 SP1 可轉散發套件 (x86)。
2012年5月16日 星期三
多國語言插件
這是採用 CxxlMan 程式庫的機動化元件所做的插件,可以幫你寫的程式或其他插件可以有提供多國語言文字的處理功能,文字來源由語言轉換檔提供,依多國語言的需求編製相應的語言轉換檔,語言轉換檔只是一般的文字檔(但須是 Unicode 編碼)。
下載點:多國語言插件(7-01-2012 更新).7z
下載點:多國語言插件(7-01-2012 更新).7z
2012年4月11日 星期三
訂閱:
文章 (Atom)