bonjour,
Quelle est la difference entre globalalloc et malloc...??
J'en ai besoin pour allouer de la mémoire et y stocker en binaire le contenu d'un fichier héxadécimal (environ 500 octets)
Dans quel cas faut -il mieux utiliser l'un ou l'autre..?
bonjour,
Quelle est la difference entre globalalloc et malloc...??
J'en ai besoin pour allouer de la mémoire et y stocker en binaire le contenu d'un fichier héxadécimal (environ 500 octets)
Dans quel cas faut -il mieux utiliser l'un ou l'autre..?
C'est quoi globalalloc ?Envoyé par cout
Si c'est du C, jamais entendu parler...
C'est une question specifique au systeme d'exploitation Windows -> forum Developpement Windows.
malloc() est une fonction C standard.
GlobalAlloc() est spécifique Win32, mais ne présente en fait aucune différence avec malloc()!!!
Dans ce cas, je te conseille d'utiliser le standard du langage...
ok merci et est il possible de blocker l'espace memoire avec malloc() en utilisant une fonction similaire a globallock() et globalunlock()
Non, le fonctionnement interne de malloc() dépend de l'implémentation.
Si tu veux interdire à ta zone d'être déplacée en utilisant GlobalLock(), il faut bien que tu utilises GlobalAlloc()![]()
Sauf que GlobalAlloc() est deprecated.
Et GlobalLock() ne "bloque" pas le bloc en mémoire pour empêcher qu'il soit swappé: seule VirtualLock() peut faire ça, il me semble.
Bref: Si tu veux maintenir une zone mémoire en RAM, il te faut utiliser VirtualAlloc(). Sinon, le bon vieux malloc() de la C Run-time Library suffit largement...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Si je ne me trompe pas, on ne peut pas utiliser le malloc avec le presse-papier par exemple (sous Windows) , il faut passer par le GlobalAlloc.
GlobalAlloc n'est pas deprecated il me semble, simplement comme elle est lente, MicroSoft conseille d'utiliser d'autre fonctions.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Hum, c'est vrai, j'avais oublié cela: Il faut utiliser GlobalAlloc() pour tout ce qui exige un HGLOBAL (notamment le presse-papier et le DDE)
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager