記憶體方面函式

2021-06-30 16:07:49 字數 2972 閱讀 5405

記憶體管理:

copymemory

將一塊記憶體從位置拷貝到另外乙個位置

fillmemory

將指定記憶體塊內容填充為指定資料

getwritewatch

查詢已經被寫入虛擬記憶體區域的頁面位址

globalmemorystatus

獲得關於系統當前對於物理記憶體和虛擬的記憶體的使用資訊。

globalmemorystatu***

獲得關於系統當前對於物理記憶體和虛擬的記憶體的使用資訊。

isbadcodeptr

決定呼叫程序是否擁有對指定位址記憶體的讀操作權。

isbadreadptr

檢驗呼叫程序是否擁有對指定記憶體範圍的讀操作權。

isbadstringptr

檢驗呼叫程序是否擁有對指定字串所在位址區域的讀操作權。

isbadwriteptr

檢驗呼叫程序是否擁有對指定記憶體範圍的寫操作權。

movememory

將一塊記憶體從乙個位置移動到另外的位置。

resetwritewatch

為某片虛擬記憶體區域重置寫跟蹤狀態。

zeromemory

用零值填充某片記憶體塊。

awe(address windowing extensions):

allocateuserphysicalpages

分配物理記憶體頁面與程序的awe區域建立或取消對映

freeuserphysicalpages

釋放先前由allocateuserphysicalpages函式分配的物理記憶體頁面。

mapuserphysicalpages

對映在awe區域內的指定位址分配的物理記憶體。

mapuserphysicalpagesscatter

同上全域性(global)和本地(local)函式。

這類函式執行速度較之其它記憶體管理函式為慢並且有很多特性沒有提供。

這就是說,新的應用程式應該盡量使用堆函式(heap functions).然而,全域性函式(global functions)仍然被用在dde和剪貼簿操作中:

globalalloc

從堆中分配指定位元組數量的記憶體。

globaldiscard

丟棄指定的全域性記憶體塊

globalflags

返回關於指定全域性記憶體物件的資訊

globalfree

釋放指定的全域性記憶體物件。

globalhandle

返回指定全域性記憶體塊的指標的控制代碼。

globallock

鎖定乙個全域性記憶體物件並且返回指向該記憶體塊第乙個位元組的指標。

globalrealloc

改變指定全域性記憶體物件的大小和屬性。

globalsize

得到指定記憶體物件的當前大小。

globalunlock

減少對乙個記憶體物件的鎖定數量。

localalloc

從堆中分配指定數量的記憶體。

localdiscard

丟棄指定的本地記憶體物件

localflags

返回關於指定本地記憶體物件的資訊。

localfree

釋放指定的本地記憶體物件。

localhandle

得到指向指定本地記憶體物件的指標的控制代碼。

locallock

鎖定本地記憶體物件並且返回指向該記憶體物件的第乙個位元組的指標。

localrealloc

改變指定本地記憶體物件的大小或者屬性。

localsize

返回指定本地記憶體物件的當前大小。

localunlock

減少對某記憶體物件的鎖定數量。

堆函式族:

getprocessheap

獲得呼叫程序的堆的乙個控制代碼。

getprocessheaps

獲得呼叫程序所有有效的堆的控制代碼。

heapalloc

從堆中分配一塊記憶體

heapcompact

嘗試壓緊指定的堆。

heapcreate

建立乙個堆物件。

heapdestroy

銷毀指定的堆物件。

heapfree

釋放一塊從堆中分配的記憶體。

heaplock

嘗試獲得與指定堆關聯的鎖定。

heapqueryinformation

獲得關於指定堆的資料。

heaprealloc

從堆中重新分配一塊記憶體。

heapsetinformation

為指定的堆設定堆資訊。

heapsize

獲得乙個在堆上的記憶體塊的大小。

heapunlock

獲得與指定堆相關聯的乙個鎖定的所有者。

heapvalidate

嘗試使指定的堆有效。

heapwalk

列舉指定堆上的記憶體塊。

虛擬記憶體函式:

virtualalloc

保留或提交呼叫程序虛擬位址空間的某一區域的頁面。

virtualallocex

保留或提交呼叫程序虛擬位址空間的某一區域的頁面。

virtualfree

釋放或取消提交呼叫程序虛擬位址空間的某一區域的頁面。

virtualfreeex

釋放或取消提交呼叫程序虛擬位址空間的某一區域的頁面。

virtuallock

鎖定指定的程序虛擬位址空間的指定塊到物理記憶體中。

virtualprotect

改變呼叫程序虛擬位址空間已提交頁面區域的訪問限制級。

virtualprotectex

改變呼叫程序虛擬位址空間已提交頁面區域的訪問限制級。

virtualquery

提供關於呼叫程序虛擬位址空間頁面區域的資料。

virtualqueryex

提供關於呼叫程序虛擬位址空間頁面區域的資料。

virtualunlock

對某程序虛擬位址空間的某區域的頁面解鎖。

效能調優 CPU方面,記憶體方面

innodb儲存引擎一般都應用於oltp的資料庫應用,這種應用的特點如下所示 使用者操作的併發量大。事務處理的時間一般比較短。查詢的語句較為簡單,一般都走索引。複雜的查詢較少。可以看出,oltp的資料庫應用本身對cpu的要求並不高,因為複雜的查詢可能需要執行比較 排序 連線等非常耗cpu的操作,這些...

unity 記憶體方面優化

作者寫的很好,看了他的書收穫很大。以下內容摘自 既然要聊unity3d執行時候的記憶體優化,那我們自然首先要知道unity3d遊戲引擎是如何分配記憶體的。大概可以分成三大部分 unity3d內部的記憶體 mono的託管記憶體 若干我們自己引入的dll或者第三方dll所需要的記憶體。第3類不是我們關注...

微處理器記憶體布局方面知識

51微控制器程式程式儲存空間 rom 和資料儲存空間 ram 詳解 stm32f1 cortex m3核心 儲存器對映 關於微控制器記憶體分配介紹的 arm 系統中常用的段分類說明 stm32中的程式是在ram裡還是flash裡執行?nand flash nor flash stm32中的程式在ra...