[Visualc++] Quantité mémoire maximum pour des listes chaînées

Quantité mémoire maximum pour des listes chaînées [Visualc++] - Programmation

Marsh Posté le 28-02-2002 à 20:06:19    

Je vais faire un programme qui va analyser un fichier de 300m/o et je souhaite mettre tout ca dans plusieurs listes chaînées et afin d'analyser les données.
 
Est-il possible de créer des listes chaînées aussi importante sans faire péter les plombs au système ?

Reply

Marsh Posté le 28-02-2002 à 20:06:19   

Reply

Marsh Posté le 28-02-2002 à 20:10:22    

Tout dépend de la taille de la RAM installée sur le système et de la place disponible pour le swap.

Reply

Marsh Posté le 28-02-2002 à 20:11:40    

512 de ram et un swap de 800meg

Reply

Marsh Posté le 28-02-2002 à 20:16:17    

Ben si t'utilises la STL, il me semble qu'il y a une méthode capacity() ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-02-2002 à 20:16:58    

Ca devrait aller alors.
La taille occupée en RAM sera certainement un peu supérieure à celle du fichier (pointeurs, structures.....).
Pour être sur, fais des essais en incrémentant progressivement la taille du fichier traité.
 
Pour info, la taille maximale d'un processus sous Win9x ou NT/2000/XP est de 1 ou 2 Go.

 

[jfdsdjhfuetppo]--Message édité par bjbebert--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 28-02-2002 à 20:25:05    

C'est quoi la STL ?

Reply

Marsh Posté le 28-02-2002 à 20:37:10    

"Standard Template Library", yeah !
Ca fait partie du C++ ...
au même titre que t'as int, char et bool, ben t'as string, vector, ...
y'a les lites aussi, ...
ca se charge de l'allocation tout seul, et capacity te renvoit la limite possible...
Y'a aussi des algos genre le tri, l'inversion qui sont codés ...
http://www.sgi.com/tech/stl/table_of_contents.html
 
exemple pour string sous Windows :
 
#include <string>
using namespace std;  // ben c'est comme ca sous Windows !
 
string chaine = "Hello";
chaine = chaine + " World !";
 
bref, ca sent le deja vu ...
mais la c'est pas propre à MS ou Borland. Tu le trouve partout (Linux ...)
Ca s'apprend assez vite (un peu de galère biensur au debut ...)
 
vector<int> Tab_d_int;
 
Tab_d_int.push_back(10);
// alloue tout seul une case, et y met la valeur 10 ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-02-2002 à 20:40:52    

Ouai ben je pense que j'utilise les libraries standard :), maintenant ta fonction est pas mal je vais l'utiliser pour voir si il arrive à s'en sortir avec mon fichier, merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed