物件,windows分為使用者物件和核心物件.
說的最多的就是核心物件.
核心物件有很多,程序,檔案,管道,and so on.
需要記錄的只有乙個東西:closehandle
程序,有程序的核心物件,程序的核心物件比此程序的存在週期要常.
程序結束的時候它所對應的核心物件並不會立刻結束,而是檢查它的計數器(貌似在eprocess裡面)是否為0,如果是0才會去釋放全部資源.
這就意味著當乙個程序執行的時候,如果別的程序呼叫了openprocess開啟了這個程序,那麼即使是這個程序退出了,它的核心物件並不會完全釋放,因為計數器不為0,還有別的程序有訪問權(也就是拿到了控制代碼),什麼時候這個控制代碼被closehandle了,或者那個程序退出了,這個程序才會完全釋放資源.
我是犯了乙個書上說的錯誤,在createprocess後沒有closehandle斷絕與子程序的關係,這也就造成了,只要父程序不退出,子程序即使退出了,它的核心物件永遠都不會完全釋放資源,從另一面來說就是浪費了資源,不管說這部分資源,記憶體是否被交換到了硬碟上,反正是浪費,絕對的浪費.
特此標記,謹記,有興趣的朋友可以去參考此書的[第四章---程序]
《Windows核心程式設計》筆記1 核心物件
由於.net framework中很多地方需要用到以前win32中的一些知識點,不了解其中的來朧去脈學習起來會比較吃力,於是準備用點時間補一下windows 核心方面的知識點,參考書本是經典的核心物件是核心分配的乙個記憶體塊,這種記憶體塊是乙個資料結構,表示核心物件的各種特徵。並且只能由核心來訪問。...
記錄windows遊戲程式設計 1
程式名稱 gamecore 2020年5月10日 用 勾勒遊戲開發所需要的程式框架 include 巨集 include define window height 600 define window width 800 define window title l 致我們永不熄滅的遊戲開發夢想 程式核...
windows核心程式設計之程序 1
我對程序的理解,由於程序是不活潑的,活潑的是程序裡面的執行緒。所以,程序相當於乙個容器,只有裡面有東西 執行緒 該容器才有存在的必要,如果裡面的東西用光了 執行緒全部終止執行 瓶子就被 程序的位址空間就被系統 或重新分配給新的程序 多工搶占式作業系統 每個程序都有執行緒,每個執行緒都有自己的cpu暫...