1. globalalloc函式和new()的區別。
1>new是標準的c++分配記憶體函式。globalalloc是win下的api函式。
2>new分配記憶體同時會呼叫類等物件的建構函式。globalalloc不回。
3>new分配的記憶體只能同程序使用,如(a程序new,b程序不能delete),globalalloc能多程序使用,並刪除。
2. globalalloc分配的記憶體需要釋放麼?
所有動態記憶體分配都必須釋放,globalalloc分配的記憶體用globalfree進行釋放。
3. globalalloc和heapalloc的關係
globalalloc是win16留下來的函式,它呼叫heapalloc分配堆中的記憶體。在理想的win32環境下,我們不需要globalalloc,但是實際上,我們還得保留從win16移植過來的許多**。在這些**中使用了「記憶體控制代碼」(hglobal)引數而不是32位的記憶體位址。
globalalloc根據其屬性引數做兩件不同的事情。如果引數指定了gmem_fixed,則globalalloc簡單呼叫heapalloc,把返回位址作為乙個32位hglobal值;如果引數指定了gmem_moveable,則返回的hglobal值是乙個指向程序裡控制代碼表中某一項入口的指標,該入口包含指向實際heapalloc分配的記憶體的指標。
從本質上,如果我們不呼叫globalrealloc函式,我們就可以用heapalloc代替globalalloc。
globalalloc和malloc的區別
globalalloc是為了與win16相容才保留的,在win32下不要使用。全域性記憶體物件使用globalalloc函式分配,在windows 3.x的時代,分配的記憶體可以有兩種,全域性的和區域性的,例如globalalloc和localalloc。但在win32的時代這些函式已經被廢棄了,現...
階乘函式n!
include stdafx.h include iostream using namespace std int factorial int n if 0 n return 1 else r eturn n factorial n 1 int main int argc,char argv int...
sed之N和 N的區別和運用
這個問題我相信很多同學困擾了很久,懂的大師們早已熟練於心,不懂的小鳥們百思不解。今天我就徹底的分析透徹這2個命令的區別,和在什麼場合下使用。我們首先看看它們的區別 seq 512 345 seq 5 sed n n p 命令 13 seq 5 sed n n p 命令 13 5n的作用是讀取下一行的...