什麼叫控制代碼

2021-04-12 14:20:27 字數 739 閱讀 7024

對於作業系統來說,控制代碼就是指向核心態的某段記憶體的指標;對於使用者來說,就是某段資料的id。

控制代碼是乙個32位的整數,實際上是 windows 在記憶體中維護的乙個物件(視窗等)記憶體實體地址列表的整數索引。因為 windows 的記憶體管理經常會將當前空閒物件的記憶體釋放掉,當需要時訪問再重新提交到物理記憶體。所以物件的實體地址是變化的,不允許程式直接通過實體地址來訪問物件。程式將想訪問的物件的控制代碼傳遞給系統,系統根據控制代碼檢索自己維護的物件列表就能知道程式想訪問的物件及其實體地址了。

乙個整型值,用來唯一標識系統資源。

乙個 windows 核心物件建立時系統回返回一描述該物件的核心資料結構,以後訪問該物件時以此資料結構為標識。但 sdk 每次呼叫時用它作引數會加大開銷,故系統為每個程序(不是執行緒)建立一陣列,每個元素指向乙個物件的資料結構,故可通過陣列的下標(即 handle )來標識此物件。從某種意義上講乙個控制代碼可認為是乙個二級指標。

type def unsigned int handle

控制代碼是一種指向指標的指標。打個比方,我們要控制乙個人,讓他乖乖聽話,就要抓住他的把柄,類似的,我們要控制乙個物件,要它聽話,就是要抓住它的控制代碼。

網上參考:

控制代碼詳解,什麼是控制代碼?控制代碼有什麼用?

最近在做專案時遇到了控制代碼的概念,之前只知道在編譯原理裡有控制代碼的概念,在實際的程式設計時會經常用到控制代碼。這裡需要說明 1.這裡將控制代碼所能標識的所有東西 如視窗 檔案 畫筆等 統稱為 物件 2.圖中乙個小橫框表示一定大小的記憶體區域,並不代表乙個位元組,如標有0x00000ac6的橫框表...

什麼叫表示式?什麼叫語句?

關於這個問題不要覺得不重要,其實大有可以說的地方,這是乙個很基礎的東西,卻有很多人都不是很清楚的了解。表示式 是由運算子和運算物件組成的,單獨的乙個運算物件 常量 變數 也可以叫做表示式,這是最簡單的表示式.eg.4,4 2,c 3 7,3 5 這裡又有乙個小點,c 3 7這個表示式的返回值是左值的...

什麼是控制代碼?為什麼會有控制代碼?HANDLE

關鍵字 控制代碼,handle,windows sdk,windows.h,從廣義上,能夠從乙個數值拎起一大堆資料的東西都可以叫做控制代碼。控制代碼的英文是 handle 本義就是 柄 只是在電腦科學中,被特別地翻譯成 控制代碼 其實還是個 柄 從乙個小東西拎起一大堆東西,這難道不像是個 柄 嗎?然...