原创 [筆記]VS2005中Debug遇到找不到msvcr80.dll的問題的解決辦法

首先,這個問題在網上找了半天,什麼設置MD的都是完全無用的,其實這是顯而易見的,因爲我在用的是MFC,又在DEBUG模式下面怎麼會依賴msvcr80.dll?這個明顯是Release庫。 於是看到有人說這是2005的BUG,我索性轉到20

原创 關於C++Release後的優化感想

最近學了點彙編,雖然寫不出什麼代碼,但是好歹看懂一點了。於是突然想去看看C++對代碼優化到什麼程度。 首先看debug,debug是完全沒有什麼優化了,除此之外還加了很多檢測的過程,難怪效率那麼低。 後來看Release,優化得很徹底,用

原创 lua5.1.4中實現自定義require的loader函數

剛開始以爲只是簡單的把自己的C函數,替換到package.loaders[2](索引2是lua的文件加載器)裏面就OK了,實際上也是這樣的,但是這樣的代價就是文件搜索啊,一堆一堆的判斷啊都要自己做,因爲這些lua本身已經實現了,所以肯定直

原创 luajit筆記---編譯成靜態庫以及FFI綁定宿主程序函數

本以爲可以像lua一樣把代碼丟進去直接編譯就好了,結果發現luajit有一堆彙編代碼,不知道怎麼處理,後來一搜索才知道luajit本身提高的批處理也可以編譯成靜態庫,就是在後面加個static,鬱悶到了。http://blog.csdn.

原创 自己嘗試實現了一個lua_Reader

爲什麼要自己實現呢,因爲腳本這東西總要加密,lua似乎沒有直接從內存讀取腳本這東西,似乎dostring可以,不過因爲聽說效率較低所以pass,而且dostring也不能讀取編譯後的文件。 其實純C的函數指針和C++等高級語言的抽象接口差

原创 Unity動態(Runtime)加載腳本

之前在羣裏跟人談到腳本更新問題,於是就突然發現因爲U3D對資源進行了打包,所以很難更新資源。說實在,我現在還沒找到資源更新的辦法,不過知道了資源可以從網絡下載實時加載。後來看到有人說可以動態加載腳本,於是就去研究了。途中各種蛋疼不提也罷。

原创 優秀程序設計的18大原則

1.避免重複原則(DRY - Don’t repeat yourself) 編程的最基本原則是避免重複。在程序代碼中總會有很多結構體,如循環、函數、類等等。一旦你重複某個語句或概念,就會很容易形成一個抽象體。 2.抽象原則(Abst

原创 std::map的陷阱 stack overflow

 這個東西雖然看到很多測試說插入百萬都沒問題 但是他們測試的往往是int類型做value   加入用自定義類型,特別是容器或者數組的時候,很容易堆棧溢出 因爲數才層數很高的時候,對堆棧消耗極大  爲了方便,我是直接在std::map裏

原创 FreeImage加載PNG8失敗的原因找到了

之前用FreeImage加載PNG8出錯,而加載PNG24缺沒錯,一直百思不得其解,認爲是FreeImage庫的問題,後來發現,各大引擎都用FreeImage,而區區PNG8就對付不了,明顯說不過去,這說明是我的操作方式有誤。於是建立一個

原创 懷舊之使用匯編啓動hge

雖然其實只是抄了一遍而已,不過之後我會考慮使用純彙編啓動一次看看 hge = hgeCreate(HGE_VERSION); hge->System_SetState(HGE_FRAMEFUNC, FrameFunc); hge

原创 struct tm轉time_t

int status = luaL_dofile(L,"setting.ini");if (!status){struct tm dt;lua_getglobal(L, "year");dt.tm_year=lua_tointeger(L

原创 luajit筆記---luajit靜態庫依賴順序問題

以前從來沒有意識到,依賴靜態庫那裏的填寫順序,會對編譯結果有影響。不知道這是不是luajit靜態庫本身的問題。 結論是,依賴順序必須是lua51.lib luajit.lib反過來編譯出來的東西就無法運行,會提示缺少luajit.exe

原创 unity裏面獲取cmdline

因爲有些時候要用到cmdline,如果是C++,那麼很容易就從winmain那裏獲取到了,但是unity不知道怎麼搞,去找了API沒找到了,後來直接Google一下,其實只要去問.NET要就好了 function GetCommandLi

原创 luajit筆記---編譯bytecode(字節碼文件)

雖說這種東西其實沒多少用,不過老闆是燒餅所以不會承認的,不過編譯之後別人反編譯也看不到變量命這種自欺欺人的心理作用還是有點用的。於是發現lua5.1編譯出來的字節碼luajit是不能用的,後來去官網看到編譯方法,輸入後卻說沒有這個命令,臥

原创 使用SVN對Unity進行版本控制(Unity 3.5 and SVN, now easy and free for all!)

原文地址:http://blog.teamthinklabs.com/index.php/2012/04/11/unity-3-5-and-svn-now-easy-and-free-for-all/ 先吐個槽。關於這個國內各種簡單到家