A voir également:
- Problèmes d'allocation en C
- Allocation de rentrée scolaire en france - Guide
- Taille d'unité d'allocation exfat - Forum Windows
- Numéro d'allocation caf - Télécharger - Banque & Budget
- Allocation du memoir en c ✓ - Forum C
- Bad allocation open office - Forum LibreOffice / OpenOffice
4 réponses
Allouer une variable de 850Mo C trop :o
C pq faire ? Il est pas possible de passer par des buffers + petits ? (Imagine ke le gars chez ki tournera l'appli aura besoin de plus de 850Mo de mémoire (RAM+SWAP) ce ki est non négligeable)
@+
C pq faire ? Il est pas possible de passer par des buffers + petits ? (Imagine ke le gars chez ki tournera l'appli aura besoin de plus de 850Mo de mémoire (RAM+SWAP) ce ki est non négligeable)
@+
C'est le cas!!! c'est un algo de programmation linéaire ( simplex), en fait je dispose de 8Go de RAM. pour l'algorithme du simplex, j'ai absolument besoin du tableau qui doit pouvoir dépasser les 850 Mo. Si tu as une solution je suis preneur!!!
@+
@+
Non je ne peux pas t'aider +
mais le system à surement une limite pour l'allocation d'un bloc mémoire
mais le system à surement une limite pour l'allocation d'un bloc mémoire
Salut,
C'est peut etre un pb du compilo ou tout simplement de l'os. Dans ce cas je ne sait pas comment faire.
De toute facon si tu sais que tu as un tel tableau je te conseil de fragmenter ton tableau. En fait quant tu essaye d'allouer ton tableau de 850 Mo il esssaye de trouver 850 Mo CONTIGUE de libre et meme si tu a 8 Go de memoire et 7 Go de libre ce n'est pas gagner.
Une solution simple est de passer par un adressage indirect. Au lieu de faire un tableau de structures en brute tu fait un tableau de pointeurs sur tes structures. Avant d'avoir un tableau de pointeurs de 100 Mo ya de quoi voir venir. Apres un calcul rapide ca doit faire plus de 26 millions de pointeurs.
Si c'est deja un tableau de pointeurs ou d'une petite structure. Ya une autre facon : c'est de fractionner ton tabeau a la main. Il faut creer une structure avec des fonctions d'acces.
voila
C'est peut etre un pb du compilo ou tout simplement de l'os. Dans ce cas je ne sait pas comment faire.
De toute facon si tu sais que tu as un tel tableau je te conseil de fragmenter ton tableau. En fait quant tu essaye d'allouer ton tableau de 850 Mo il esssaye de trouver 850 Mo CONTIGUE de libre et meme si tu a 8 Go de memoire et 7 Go de libre ce n'est pas gagner.
Une solution simple est de passer par un adressage indirect. Au lieu de faire un tableau de structures en brute tu fait un tableau de pointeurs sur tes structures. Avant d'avoir un tableau de pointeurs de 100 Mo ya de quoi voir venir. Apres un calcul rapide ca doit faire plus de 26 millions de pointeurs.
Si c'est deja un tableau de pointeurs ou d'une petite structure. Ya une autre facon : c'est de fractionner ton tabeau a la main. Il faut creer une structure avec des fonctions d'acces.
voila
Salut
En ce moment c'est un tableau d'entiers de 850 Mo ??!!
Pour info un acces indirect n'est pas BEAUCOUP plus long en particulier par pointeur.
Si remplace ton tableau par un tableau de tableau pour le fractionner (ce n'est qu'un exemple) et que tu choisi des dimensions du genre 10024 tu peux faire des acces tres performants en manipulant directement bit a bit. mais je ne developpe pas plus je penses que tu y a penser.
bon courage
En ce moment c'est un tableau d'entiers de 850 Mo ??!!
Pour info un acces indirect n'est pas BEAUCOUP plus long en particulier par pointeur.
Si remplace ton tableau par un tableau de tableau pour le fractionner (ce n'est qu'un exemple) et que tu choisi des dimensions du genre 10024 tu peux faire des acces tres performants en manipulant directement bit a bit. mais je ne developpe pas plus je penses que tu y a penser.
bon courage