最近在學習儲存方面的知識,第一次接觸控制代碼這樣的專業詞彙,為了更好的理解其中含義,決定開始寫部落格,慢慢成長!
什麼是控制代碼?
在作業系統中存在著許多的核心物件,這些物件具有許多的屬性,其中位址是比較重要的一種。作業系統在操作這些物件時,如果傳遞的是位址本身,將會帶來一系列的隱患,比如呼叫位址資訊複雜、不方便,且暴露核心物件本身。因此通過建立控制代碼表,通過控制代碼查詢對應核心物件的實際位址,進一步找到記憶體資料。簡而言之,控制代碼是一種簡單的對映關係,類似於指標,不過控制代碼指向的是儲存資料的實際位址,這種對映思想隱藏了核心實現的細節,保證了核心的安全,同時也降低了呼叫的複雜度。
控制代碼可以用「四兩撥千斤」來形象的描述,「四兩"指的是其量級小(占用儲存空間小),其本身僅為乙個32位的無符號的整數;「千斤」指的是其通過控制代碼表「拎出來」的海量的資料。
handle 控制代碼
控制代碼是乙個32位的整數,實際上是windows在記憶體中維護的乙個物件記憶體實體地址列表的整數索引。因為windows的記憶體管理經常會將空閒物件的記憶體釋放掉,當需要訪問時再重新提交到物理記憶體,所以物件的實體地址是變化的,不允許程式直接通過實體地址來訪問物件。程式將想訪問的物件的控制代碼傳遞...
控制代碼 Handle
介紹 控制代碼,是整個windows程式設計的基礎。乙個控制代碼是指使用的乙個唯一的整數值,即乙個四位元組長的數值,來標識應用程式中的不同物件和同類物件中的不同的例項,諸如,乙個視窗,按鈕,圖示,滾動條,輸出裝置,控制項或者檔案等。應用程式能夠通過控制代碼訪問相應的物件的資訊,但是控制代碼不是乙個指...
什麼是控制代碼(HANDLE)
handle 控制代碼是wondows用來標識被應用程式所建立或使用的物件的唯一整數,windows使用各種各樣的控制代碼標識諸如應用程式例項,視窗,控制,位圖,gdi物件等等。從資料型別上來看它是乙個16位的無符號整數 0 65535 如果想更透徹一點地認識控制代碼,我可以告訴大家,控制代碼是一種...