原创 【原創】在工廠模式中使用FREELIST

一、前言 以下內容僅爲理論,並未實踐,考慮在現在的項目中實踐或做一個測試的DEMO,見諒見諒。 但開了一個不錯的思路???我絕對不是第一個想到這個理論的,只是我突然覺得它有改進的餘地。 請不要再一般的環境中使用以下技術,對一般程序而言絕對

原创 【原創】boost::recursive_mutex請小心使用

recursive_mutex會減少死鎖機率?恩看上去的確如此,但是事實上呢?我們從BOOST的官方邏輯去理解: recursive_mutex類可多次進入鎖,這樣在遞歸時可以避免一次死鎖的機率,這是原本BOOST中所體現的一種思想,O

原创 [原創] GCC 4.5.1 configure參數中文註釋

只翻譯了部分自己會用到的參數,翻譯的不好,請見諒 轉載請註明出處:Koangel 使用方式: ./configure [選項]... [VAR=VALUE]... To assign environment variables (e.g.

原创 OpenTNL 關注

OpenTNL是TGE的一部分,開源但是其商業版本賣價 295美元 有幸下載到了OpenTNL的一個版本,其代碼複雜程序的程度的確頗高,但仍然並非那麼複雜.. OpenTNL的效率仍然處於一個未知的數字.. OpenTNL底層採用UDP實

原创 [原創]MysqlConnector-C就是libmysql.so

記下來防止自己忘記。 今天做了件比較二的事情,一直以爲libmysql.so就是mysql-devel RPM包 後來自己找了很多資料才發現是MysqlConnector C,問題是我真沒找到mysql的文檔

原创 [linux]C++跨平臺開發環境配置筆記

以前一直在UBUNTU下做開發,一般都用CODEBLOCK之類的IDE,總之還是很簡單的,這裏也就沒什麼難點。 最近上了一個新項目,我們不打算採用UBUNTU,本來打算用OPENSUSE,但是發現OPENSUSE太大,而且公司居然沒它的光

原创 百度博客丟了,坑爹啊

百度博客丟了,坑爹啊,誰這麼無德啊

原创 [原創]推薦一組C++的庫

1、BOOST:不必說啦,世界上最酷的C++準標準庫了,一切可以替代STD的行爲其中都有 http://www.boost.org 2、ACE :工業級網絡庫,基本上涵蓋了網絡模型的中的大部分應用行爲,非常庫啊,我的ThreadObjec

原创 遠程調試編譯LINUX,UNIX應用程序組件

最近使用C#開發的最新工具組件 knl remote debug完成了 下載地址:http://code.google.com/p/knl-remotedebug/ 工具目前介紹: 支持SSH的連接數據目錄校驗 支持CODEBLOCKS,

原创 【原創】項目生命週期模型(付個人觀點的解決方案)

轉載請註明出處 http://blog.csdn.net/koangel 一、前言 以下內容爲小弟拙見,噴者見諒。 結合小弟經歷過的諸多項目發現,除了本人有能力主導的項目外,基本上均無正常按期完成產品。 所以有了諸多想法,誕生此文,結合《

原创 CVM下如出現異常情況的處理方法

1、進程無故消失或進程無故死鎖與框架 基本上可以斷定是因爲服務器內存已滿導致的,請執行 echo 3 > /proc/sys/vm/drop_caches 2、無法啓動程序時可以基本斷定GCC的版本過高導致的 請重新設置GCC的編譯選項,

原创 遊戲開發中儘量不要做的一些事(技術,策劃以及測試)

多年遊戲製作經驗,發現諸多問題,提出來大家共勉。 對開發人員說的: 1、千萬別說自己的框架很穩定,那是需要測試的 2、千萬別讓不熟悉代碼的人開發新功能,很容易出現返工 3、千萬注意浮點數的計算,小心摔跟頭 4、千萬別忽視內存管理,它會讓你

原创 Linux下使用Daemon實現服務器永久存活

很多服務器端設計者,很少會考慮到服務器永久存活或熱替換的問題,貌似真的很少 其中永久存活最大的理論支持就是,我們如何真正的保證一組服務器持續的存在,即便宕機? 其實沒有人能保證自己寫的代碼那麼完美無瑕,因爲它的存在就是必須去崩潰,必須暴

原创 linux signal處理中的幾個問題(suse下莫名其妙死鎖的處理)

最近發現在騰訊的CVM上,服務器總是平凡的死鎖 後查明真像爲 當你發生sig 11的異常時,會進入處理函數 signalHandler 同時此時生成相應的dump file時間,在這裏我調用了函數 localtime 函數。 此函數會在內

原创 內存指針基地址查詢算法

首先針對所有有NP,GPK等保護引擎,CE貌似都會被幹掉 所以這裏寫一篇關於自動查詢內存基地址的僞代碼算法,防止忘記。DWORD _begin = 0x40000000; //用於32位 DWORD _end = 0x7FFFFFFF;