new und GlobalAlloc
-
hi,
also ich beschäftige mich gerade mit netbios und in den beispielenw ird oft GlobalAlloc angewendet und ich wollte mal fragen was den eigentlich der unterschied zwischen GlobalAlloc und new ist :D.
Danke.
-
Schurke schrieb:
hi,
also ich beschäftige mich gerade mit netbios und in den beispielenw ird oft GlobalAlloc angewendet und ich wollte mal fragen was den eigentlich der unterschied zwischen GlobalAlloc und new ist :D.
Danke.
Sagt doch schon der Name, es ist global. Das heißt jeder Prozess kann auf diesen Speicherbereich zugreifen.
Bei new kann nur dein Prozess auf den Speicher zugreifen.Wenn dich das verwirrt, dann schlag mal nach was virtual memory ist.
-
Danke

-
Hallo,
Na es ist Global schrieb:
Sagt doch schon der Name, es ist global. Das heißt jeder Prozess kann auf diesen Speicherbereich zugreifen.
Das ist zu Zeiten der 32/64-Bit-Windows-Systeme nicht mehr korrekt, GlobalAlloc verwendet man heute einfach nur dann, wenn man ein Handle benötigt, das für den Aufruf anderer Funktionen gefordert wird, wie es eventuell hier bei den Netbios-Beispielen der Fall ist. Sonst kann man genau so gut new einsetzen. Lediglich früher, zu "alten" 16-Bit-Windows-Zeiten, konnte man mit Flags wie z.B. GMEM_DDESHARE, GMEM_SHARE erreichen, dass Speicher global verfügbar war, da nur diese "alten" Versionen noch eine Unterscheidung zwischen lokalem und globalem Heap kannten. Der Unterschied zwischen new und GlobalAlloc ergibt sich also aus dem Verwendungszweck (benötige ich ein Handle oder doch nur einfach Speicher auf dem Heap).
MfG,
Probe-Nutzer