原创 PE文件格式詳解(五-2)――Improt Table(引入表)

現在我們知道如何找到引入表了。Data Directory數組第二項的VirtualAddress包含引入表地址。引入表實際上是一個 IMAGE_IMPORT_DESCRIPTOR 結構數組。每個結構包含PE文件引入函數的一個相關DLL的

原创 文件監視開發技術小結

最近在用java寫監視文件系統的東東,特對C++和Java下的不同實現方法做一小結。 1.Java環境下 很多人都說用文件輪詢HashTable,然後如何如何比較,這種方法效率極爲低下,還會造成無謂的磁盤讀寫。好了JDK 7中提供了j

原创 Lua的靜態編譯(for 5.1)

Lua的靜態編譯(for 5.1) --by Coollen.MMX 在下找遍了好多網站也沒找到Lua的靜態編譯方法,而Lua自帶的說明上也沒有太詳細的說明,作爲一個新時代的程序員,揹負着開創未來的歷史責任……,寫一點關於Lua編譯手

原创 Lua Lib在VC下的編譯/用BCB6編譯LUA庫

Lua提供了源代碼以便於用戶自己編譯。用戶可以將之編譯成靜態庫,也可以編譯成爲動態庫。但Lua沒有提供工程文件,需要用戶自己添加,對新手而言,帶來諸多不便。 一、Lua靜態庫 編譯爲靜態庫很簡單,有人已經寫過,現摘錄如下:

原创 PE文件格式詳解(七)――PE 文件的基底

這節是最後一節了,其實PE格式裏面還有很多東西,比如資源,也是挺複雜的一個東東,不過我對它不感興趣,寫點兒自己感興趣的東東吧――PE 文件的基底重定位(Base Relocations)。前面我們說過了每個模塊有一個優先加載地址Image

原创 PE文件格式詳解(五)――Improt Table(引入表)

這節即將學習的Import Table和下節的Export Table關係密切,兩者聯合起來就可以解決我們開始提出的問題。在說明Import Table和Export Table的作用之前先讓我們明白編譯器是如何處理我們調用外部庫函數的。

原创 VC++中忽略所有默認庫純Win32 API編譯及鏈接

我們在用VC++編寫Windows程序的時候可能會發現一般可執行體(.EXE)的文件體積都比較大,於是非常羨慕那些使用Win32彙編編寫程 序的人,因爲他們編寫的可執行文件非常小。其實應用程序的體積是一方面,另外應用程序的部署環境則是需要

原创 luabind 的幾個嚴重問題

用LuaBind很久了。感覺LuaBind總體上來說是可用的,但是問題有不少: 1. 有一個GC問題。問題出在引用技術和GC之間的配合上。 2. 編譯速度慢。模板+Boost 導致編譯速度那個慢啊。 3. 運行速度慢。大量使用Lua的註冊

原创 雞蛋真難喫

A:這雞蛋真難喫。     B:隔壁的雞給了你多少錢?          A:這雞蛋真難喫。     B:有本事你下個好喫的蛋來。        

原创 “PE文件格式”1.9版 完整譯文(一)

[注意:本譯文的所有大小標題序號都是譯者添加,以方便大家閱讀。圓圈內的數字是註釋的編號,其中註釋②譯自微軟的《PECOFF規範》,其它譯自網絡。----譯者] 一、前言(Preface) ------------------ PE(

原创 遊戲DX接管的研究

這幾天研究了一下DX,目標是DX3D , DXDraw , DXInput。 DX3D :       DX3D 首先通過函數Direct3DCreate8創建一個D3D對象,這個對象是一個D

原创 深入剖析PE文件

PE文件是Win32的原生文件格式.每一個Win32可執行文件都遵循PE文件格式.對PE文件格式的瞭解可以加深你對Win32系統的深入理解. 一、 基本結構。 上圖便是PE文件的基本結構。(注意:DOS MZ Header和部分PE

原创 PE文件格式”1.9版 完整譯文(四)

=========================== |“PE文件格式”1.9版註釋:| =========================== ①Win32s和Win32 Win32s是“WIN32subset”的縮寫,它是

原创 vs2005環境下編譯CEGUI 0.6.0

2008.4.9 1、修改了 第4節.前言,補充了關於圖象庫SDK與CEGUI的關係,添加了DX9.0C SDK的連接 2、修改了 第4.2.1.2節,補充了 兩個項目之間的依賴關係。 2008.4.12 1、修改了 第

原创 PE文件格式詳解(三)――DOS Header & PE Header

上一節中我們對PE文件的各個部分的作用有了一個總體的認識,從這節起我們會對PE文件的每個部分作更進一步的解釋,當然別忘記了上一節中我提出的兩個問題。 1.DOS MZ header 和 DOS Stub:         所有 PE文件(