Mogens Hansen wrote:
> "Troels Thomsen" <nej tak ...> wrote in message
> news:4676c459$0$52105$edfadb0f@dread11.news.tele.dk...
>
> [8<8<8<]
>> Hvis du rigtigt skal allokere hukkomelse, vil det være pænt af dig at bede
>> windows om det.
>
> Hvorfor dog det ?
> Man skal have meget specielle behov, hvis ikke standard C funktioner som
> "malloc" virker _mindst_ lige så godt, med mindre man har nogle _meget_
> specielle behov.
>
>> Kan ikke lige huske navnet på funktionen.
>
> GlobalAlloc
>
GlobalAlloc er en historisk funktion som nu kun giver mening i
forbindelse med low-level brug af API-erne til ClipBoard og DDE.
Den "nye" standardfunktion siden 1993 er HeapAlloc eller evt.
wrapperfunktionen LocalAlloc. malloc er ofter en wrapper rundt om
HeapAlloc.
P.S.
I Win32/Win64/WinCE er de eneste forskelle på et "konsolprogram" og et
"window-program" (uden S):
1. Hvis man starter et konsolprogram fra et andet sted end fra et åbent
konsolvindue, så bliver der åbnet et nyt konsolvindue som bliver
programmets stdin/stdout/stderr. Gør man det samme med et
window-program får programmet bare ikke nogen åben stdin/stdout/stderr.
Et window-program startet fra et konsolvindue HAR stdin/stdout/stderr.
2. Hvis man starter et window-program direkte fra et kommandoprompt
kommer promptet tilbage med det samme, mens der ventes på et
konsolprogram. I batchfiler ventes på begge programtyper.
Denne regel er ny fra og med 1994 (Windows 95 og NT 4.0, måske også NT
3.51).
3. Microsofts C-runtime antager pr. default at window-programmer skal
have deres kommandolinieparametre leveret til en Win16-agtig WinMain
funktion mens konsolprogrammer skal have deres leveret i en UNIX-agtig
main funktion. Dette er bare noget C-runtimen gør, internt starter
begge programtyper med en raw startupfunktion uden parametre som
initialiserer C-runtime, parser kommandolinien til et format som matcher
den forventede main/WinMain, lukker C-runtime ned og kalder ExitProcess.
Andre C-runtimes til Win32/Win64/WinCE har samme opførsel.
--
Jakob Bøhm, M.Sc.Eng. * jb@danware.dk * direct tel:+45-45-90-25-33
Danware Data A/S * Bregnerodvej 127 * DK-3460 Birkerod * DENMARK
http://www.netop.com * tel:+45-45-90-25-25 * fax tel:+45-45-90-25-26
Information in this mail is hasty, not binding and may not be right