SUPPRIME CHAINE DANS FICHIER (WIN32)

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 - 12 sept. 2005 à 10:14
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 12 sept. 2005 à 12:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33730-supprime-chaine-dans-fichier-win32

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 sept. 2005 à 12:39
new utilise le CRT, c'est différent. Il utilise le code de malloc et appelle un constructeur si c'est une classe.
L'alloc par malloc fait tout un tas de vérifs internes pour garantir le non chevauchement en cas de multi threads et finit chez HeapAlloc. L'emploi direct de l'API garantit à coup sur la vitesse, juste qu'il faut le faire correctement.
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
12 sept. 2005 à 12:09
je comprends bien
mais la question sous-jacente était grosso modo

est-ce que c'est plus rapide/interessant de faire un

psztemp = (char*) VirtualAlloc(0, LENTOTAL, MEMDISPO, PAGE_READWRITE);

plutot que

psztemp = new char [LENTOTAL];

sachant que dans ce cas là, LENTOTAL fait 37392 (ce qui n'est pas énorme finalement)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 sept. 2005 à 10:35
Me semble clair que répéter plusieurs fois la même chose est plus long que de le faire 1 seule fois, surtout que ça gagnera dans les 2 sens, alloc et désalloc. Même si ici ce n'était pas crucial, l'important est de montrer une méthode applicable très souvent ailleurs.
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
12 sept. 2005 à 10:14
c'est plus rapide de se faire une allocation avec VirtualAlloc plutot que d'avoir deux-trois buffer en pile ?
Rejoignez-nous