學核心從基本資料結構開始吧,就像學c語言時從學習int,char開始一樣.
只列出目前見到和用到的,其它後面再補充~
常用資料結構:
數字:lkd> dt _ularge_integer
ntdll!_ularge_integer
+0x000 lowpart : uint4b
+0x004 highpart : uint4b
+0x000 u : __unnamed
+0x000 quadpart : uint8b
lkd> dt _large_integer
ntdll!_large_integer
+0x000 lowpart : uint4b
+0x004 highpart : int4b
+0x000 u : __unnamed
+0x000 quadpart : int8b
字串:
lkd> dt _string
nt!_string
+0x000 length : uint2b
+0x002 maximumlength : uint2b
+0x004 buffer : ptr32 char
lkd> dt _unicode_string
ntdll!_unicode_string
+0x000 length : uint2b
+0x002 maximumlength : uint2b
+0x004 buffer : ptr32 uint2b
單鏈表頭(看來資料結構要學好啊)::
lkd> dt _slist_header
ntdll!_slist_header
+0x000 alignment : uint8b
+0x000 next : _single_list_entry
+0x004 depth : uint2b
+0x006 sequence : uint2b
鍊錶結點:
lkd> dt _knode
ntdll!_knode
+0x000 processormask : uint4b
+0x004 color : uint4b
+0x008 mmshiftedcolor : uint4b
+0x00c freecount : [2] uint4b
+0x018 deadstacklist : _slist_header //煉表頭
+0x020 pfndereferenceslisthead : _slist_header
+0x028 pfndeferredlist : ptr32 _single_list_entry
+0x02c seed : uchar
+0x02d flags : _flags
單鏈表的指標:
lkd> dt _single_list_entry
ntdll!_single_list_entry
+0x000 next : ptr32 _single_list_entry
雙向鍊錶指標:
lkd> dt _list_entry
ntdll!_list_entry
+0x000 flink : ptr32 _list_entry
+0x004 blink : ptr32 _list_entry
核心佇列:
lkd> dt _kqueue
ntdll!_kqueue
+0x000 header : _dispatcher_header
+0x010 entrylisthead : _list_entry
+0x018 currentcount : uint4b
+0x01c maximumcount : uint4b
+0x020 threadlisthead : _list_entry
乙個很多地方用到的頭部結構:
lkd> dt _dispatcher_header
ntdll!_dispatcher_header
+0x000 type : uchar
+0x001 absolute : uchar
+0x002 size : uchar
+0x003 inserted : uchar
+0x004 signalstate : int4b
+0x008 waitlisthead : _list_entry
Windows核心常見資料結構 程序相關
程序的相關結構非常重要,重點學習 有一些內容參考自 程序控制塊位於每個程序eprocess的開頭,因此它的位址也就是eprocess的位址 lkd dt kprocess nt kprocess 0x000 header dispatcher header 0x010 profilelisthead...
常見資料結構
陣列 array 在程式設計中,為了處理方便,把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。在c語言中,陣列屬於構造資料型別。乙個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列 字元陣列...
常見資料結構對比
最近看一本講程式設計藝術的書,裡面提了個問題 常見資料結構有哪些?以前都是用到什麼資料結構,去查相應資料,一直沒仔細想過這個問題,一時心血來潮,決定做個 總結下幾種資料結構的特點。如果哪位大神發現了錯誤,請通知小弟一聲,小弟馬上修改,謝謝。名稱 描述隨機訪問時間複雜度 特點優點 缺點陣列 資料型別的...