Pb de tri et taille de tableaux

daarkon666 Messages postés 6 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 5 avril 2003 - 5 avril 2003 à 11:04
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 avril 2003 à 12:34
Salut !!
Je viens de terminer le tri/fusion itératif (et d'autres algos de tri, pr un projet info de fac) en C, et je suis soumis à un pb auss ibien sous windows que sous linux :
Pour tout les algos de tris, je peux mettre une taille quelconque de tableau, sauf pour le tri/fusion : quand, pour le tri/fusion, j'entre une taille valant 10.000 ou une taille strictement supérieure à 20.000 , à l'execution windows me dit "erreur", et linux me dit "segmentation fault" !! Je ne comprends pas pk çà fonctionne impecc avec toutes les tailles (y compris 20.000) et tout les tris sauf celui-ci !!
Quelqu'un a une explication/solution ?

^¤^ Daarkon ^¤^

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 avril 2003 à 11:07
Win32: VirtualAlloc()
BruNews, ciao...
0
daarkon666 Messages postés 6 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 5 avril 2003
5 avril 2003 à 12:22
VirtualAlloc() est dans quelle librairie, et quelle est sa syntaxe (type de renvoi, type des argument, nombre d'arguments ??) ??
:-)

PS : je travaille sous dev/c++ (windows) ... et GCC 3.2 (linux)

^¤^ Daarkon ^¤^
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 avril 2003 à 12:34
Kernel32.lib pour kernel32.dll
#include <windows.h> pour winbase.h
syntaxe, un exemple:
#define MEMDISPO (MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN)
BYTE *pmem;
pmem = (BYTE*)VirtualAlloc(0, nbrBYTES, MEMDISPO, PAGE_READWRITE);
if(pmem == NULL) traite manque memoire;
VirtualFree(pmem, 0, MEM_RELEASE);
BruNews, ciao...
0
Rejoignez-nous