re: 使用RCU技術實現讀寫線程無鎖 Kevin Lynx 2015-04-22 18:29
@春秋十二月
我們的一個服務有1W QPS,數據變更時latency會幾十倍波動,用了這個后latency再也不波動了
re: 基于內存查看STL常用容器內容 Kevin Lynx 2014-12-07 18:27
@xxoo
"即,string內有一個指針,指向實際的字符串位置,這個位置前面有一個_Rep結構,其內保存了字符串的長度、可用內存以及引用計數。"
re: 淘寶分布式配置管理服務Diamond Kevin Lynx 2014-10-14 13:23
@zuhd
diamond本身作為服務器不會太多的。
re: C/C++中手動獲取調用堆棧 Kevin Lynx 2014-10-02 20:13
re: Muduo源碼閱讀 Kevin Lynx 2014-05-05 19:38
@Enic
就vim,tag都沒用
re: 休閑手游服務器集群擴展思考 Kevin Lynx 2013-10-07 21:40
期待發出更多的經驗。
re: node.js手游服務器調研 Kevin Lynx 2013-10-07 21:38
我記得node.js有個包裝了websocket的庫(不支持websocket的會有模擬)
ps,
http://socket.io/ socket.io
re: 使用Lisp搭建獨立博客 Kevin Lynx 2013-07-15 10:02
@bb_cn@163.com
貌似客服還是很速度的啊。。。窮,沒有服務器
re: 使用Lisp搭建獨立博客 Kevin Lynx 2013-07-09 13:27
@bb_cn@163.com
實在不會提交個ticket給客服。我沒有續費,現在服務器停了
re: 使用Lisp搭建獨立博客 Kevin Lynx 2013-07-08 11:28
@bb_cn@163.com
網頁上進管理系統,就可以看到裝什么系統
@春秋十二月
cppblog抽風了,博客后臺有文件列表,點過去沒有。
re: 傳遞Lua函數到C/C++中 Kevin Lynx 2013-04-24 20:00
@fy
謝謝有價值的回復。
距離這篇博客的寫作時間太久了,我只能簡單說明下。實際上我們項目中最后使用的方式是@thelONE在評論中提到的方法。即,在lua中直接傳遞函數對象(全局函數、局部函數、匿名函數),C/C++中先通過luaL_ref將這個函數對象建立索引并保存進注冊表,在luaL_unref之前,這個函數對象由于存在“引用”所以不會被垃圾回收。那么,程序里就可以保存luaL_ref這個索引值。當要調用這個函數時,就根據該索引從注冊表中取出(大概是lua_gettable)。實際操作你可以自己查查。這種方式感覺上效率應該會高不少,對于腳本方的使用也更自由。但是有個嚴重的問題,就是當我們進行效率檢查時,定位腳本不太容易,因為C/C++這邊沒有有效的方式去標識一個lua函數對象(當然后面還是使用了些其他方法,例如使用debug庫獲得函數對象的位置信息)。
re: C++陷阱:virtual析構函數 Kevin Lynx 2012-09-14 09:02
@test
繼承不一定會使用到多態
re: 像寫函數式語言代碼一樣寫C++ Kevin Lynx 2012-08-02 09:31
@fzy
thanks,眼神真好!
re: 終于點了ASP.NET MVC3的技能樹了 Kevin Lynx 2012-07-10 13:40
re: 使用Github Page來寫博客 Kevin Lynx 2012-05-03 15:35
@路過
這尼瑪都知道。。。你誰啊
re: 寫了個簡單的網站,codertrace.com Kevin Lynx 2012-03-31 10:04
@haha
偶爾域名會得不到解析貌似,godaddy的域名服務器會偶爾被墻
re: 寫了個簡單的網站,codertrace.com Kevin Lynx 2012-02-25 17:53
@mhsy2003
1. thanks
2. google code是非常想支持的,在沒有RSS的情況下,也希望可以通過google API之類去獲取
3. 顯示自己的動態我會盡快加上。
re: 寫了個簡單的網站,codertrace.com Kevin Lynx 2012-02-24 14:57
@布拉德比特
你輸入的地址是啥?
ps,你的博客地址可以獲取啊:http://www.bradbit.com/blog/
re: 靜態庫中全局變量的初始化問題 Kevin Lynx 2011-11-07 09:46
@溪流
解決辦法就是換成常規方法:顯示初始化。
re: 一個簡單的截屏工具的實現。 Kevin Lynx 2011-10-08 17:57
不知道可不可以直接繪制在桌面DC上,而不用創建一個桌面那么大的對話框?
re: 實現一種解釋性腳本語言(二) Kevin Lynx 2011-07-22 09:05
@thircese
大概是因為在全局范圍內也能寫下a = func()這樣的語句。分號雖然能作為區分,但在很簡單的語法分析算法中,是希望由最開頭的token來確定后面跟的是什么樣的語法。在具體實現時:
if (tok == TK_FUNCTION) 就可以簡單地知道是函數定義,而不是在掃描完函數名、參數列表、括號后發現還有分號,才能確定是函數調用,這多少會加大實現的復雜度
re: 傳遞Lua函數到C/C++中 Kevin Lynx 2011-05-08 19:36
@thelONE
有沒有做過這方面的測試?
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 19:37
@楊粼波
這倒提醒我了。還真是不方便編輯。
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 18:05
@飯中淹
我們這回策劃將編寫大量腳本。瞬間在策劃組掀起了學習Lua的熱潮。整體架子的發展路線,和你說的差不多。程序這邊僅提供底層功能實現。
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 16:06
@飯中淹
話說你把你們的服務器整成全部配置驅動的;而我們在向全部腳本驅動靠近。
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 13:57
@lin_style
復雜性和可維護性不僅體現在本項目,一般一個團隊的下個項目就是在上個項目的基礎上改。所以希望把這些游戲相關的東西盡量獨立出來。理想情況下是到了下個項目可以直接通過移除一部分模塊添加一部分模塊即可。
當然,如你所說,確實存在度的把握問題。我現在是打算把基礎屬性(例如坐標)寫死,或者通過本文的機制在程序里添加;其他屬性(主要是戰斗屬性、什么中毒抗性啊、暴擊傷害比率啊)放在腳本或配置里擴展。
但是如果是做引擎,這些包裝則是必須的了。
ps. 因為在團隊里某部分代碼可能會在時間線上由不同的人修改,盡早地提出一種明顯的規則,可以約束后面的人不至于隨意而為。如果一開始就在Player類里塞功能,早期可能沒問題,不過隨著項目進展,后面的人極有可能模仿前人的做法,最終就會導致不斷地在Player里加功能代碼。膨脹由此而來。
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 12:11
@飯中淹
Linux下的chrome看沒有什么骷髏頭啊。。- -|
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-03 12:03
@lin_style
基本上是。雖然邏輯不一定復雜,可能僅僅是大量功能的堆積。但其維護性肯定不好。回憶一下當你剛接手熟悉一個項目代碼時,看到一個巨類時的感覺。
re: MMO游戲對象屬性設計 Kevin Lynx 2011-05-02 20:36
@so
加了個“繼續閱讀”指向我那個獨立博客。- -| 你都要在這里留言。
re: 多重繼承和void*的糗事 Kevin Lynx 2011-05-01 18:43
@lin_style
沒完全懂你意思。是討論使用方法?還是討論底層實現?
re: 多重繼承和void*的糗事 Kevin Lynx 2011-05-01 17:34
@dutor
正解。robj = (Bottom*) vobj;會做偏移。如果Bottom單繼承自Right,會出什么詭異問題?
@lin_style
如果這樣做,就等同于用匯編去操作vptr。
re: 關于飯同學的【簡單的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
我是過來當和事佬的。飯那篇帖子后的留言我沒來得及看到。飯叔叔我N多年以前就算認識。vczh算是CPPBLOG老面孔。我覺得這完全是個誤會。彼此之間對對方意思的完全誤解。vczh文章中的態度也算中肯。我覺得大家完全可以熄火和解。倒是vczh和飯的文章后的馬甲留言讓人生厭,完全的謾罵。
re: 關于飯同學的【簡單的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
@飯中淹傻逼
這個馬甲太有喜感了。
re: 【簡單的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
@飯中淹
不要跟連名字都不敢留的人一般見識。
re: 博客遷移 Kevin Lynx 2011-04-25 15:33
@楊粼波
瞎折騰有時候是挺累。
re: 傳遞Lua函數到C/C++中 Kevin Lynx 2011-04-25 13:19
@oo
這句話是欠妥,3Q。不過,因為在c/c++里沒有映射Lua函數的類型,所以沒有辦法把傳入的print取出來。這無法滿足回調的需求。
re: 博客遷移 Kevin Lynx 2011-04-25 10:51
@楊粼波
業余愛好:D Lisp很酷
re: 博客遷移 Kevin Lynx 2011-04-24 22:17
@溪流
都是老面孔了 :D
re: 關于 warning C4715問題。 Kevin Lynx 2011-04-10 19:25
@expter
我指的是你文章里的test沒有static Obj obj這句。
re: 關于 warning C4715問題。 Kevin Lynx 2011-04-09 13:33
最后一個例子代碼有點問題吧?可以讓編譯器將部分警告視為錯誤。
00411405 add esp,4 ;Call test 函數時將壓入棧數據
準確的說這條語句是恢復堆棧,因為之前的push 1。默認的cdecl調用約定是調用者平衡堆棧。
win32匯編里約定eax作為返回值寄存器。
re: 編譯器上面時候為我們生成默認構造函數?(C++) Kevin Lynx 2011-04-08 10:46
@笨笨
不是我總結的,貌似是<Inside C++ object model>里有這么一句話。"when it's necessary"
re: 編譯器上面時候為我們生成默認構造函數?(C++) Kevin Lynx 2011-04-08 10:10
基本上,就是“當需要的時候”,就會被生成。
re: 被delete難倒了 Kevin Lynx 2011-03-30 17:50
@dizhu
問題確實可能出在其他地方。
re: Lisp一瞥:增強型變量Symbol[未登錄] kevin lynx 2011-03-23 09:44
@陳梓瀚(vczh)
- -| 我用工具自動生成的。。。多謝提醒。
re: 如何書寫權威的程序庫頭文件 Kevin Lynx 2011-03-17 18:11
- -| 別人那樣寫是有原因的。尤其是跨平臺代碼(導致各種宏)、開源代碼(導致各種版權注釋)、避免名字沖突的庫代碼(導致符號前綴)。。。
re: 學生時代做的東西-留個紀念 Kevin Lynx 2011-03-17 10:58
@求幫助~
看你學的是哪門腳本語言。一般較為流行的腳本語言都有大量的文檔、教程、書、庫、開源代碼,例子怎么會少?除非你用的是百度,連語言的官方網站都沒找到。
re: 關于內存分配優化的一些討論 Kevin Lynx 2011-03-15 09:30
@月下圓舞曲
貌似vs默認帶的STL實現是不帶內存池實現的,它的allocator就是個malloc的包裝。可以試著把SGI里的那個allocator拿出來,這個allocator算是比較高效的小塊內存池。鑒于STL本身在構造容器時就支持自定義的allocator,所以要適配進vs默認的STL應該不困難。
re: 用lisp開發博客客戶端 Kevin Lynx 2011-03-14 13:18
@Louis
閱讀Lisp代碼主要是通過代碼縮進來識別語句關系,如果是通過括號那根本沒法閱讀。在RECL下(也就是交互模式下)輸入語句我喜歡一行輸下去,所以那個輸入環境能有括號匹配(例如CLISP輸入")"時就會做點提示)就是個不錯的功能。SBCL默認沒有。
re: 如何寫出高質量的函數[未登錄] kevin lynx 2011-03-10 11:11
全部同意。尤在函數長度限制和功能單一方面,是應該大大注意的。