begin process at 2012 05 30 18:20:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

taille maximum tableaux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

taille maximum tableaux

jeudi 1 mars 2007 à 15:26:23 | taille maximum tableaux

yepla75

Hello,

Je développe avec Dev-CPP ; dans un programme en C, je devais créer de très gros tableaux (je n'ai plus la taille en tête, malheureusement) => impossible.

Pour y remédier, j'ai fait le même programme en .cpp, avec la commande "new" pour créer le gros tableau, et ça a marché.

D'où les questions :

- la taille maximum d'un tableau est-elle liée au C, ou au compilateur ?
- y'a-t-il une commande permettant de connaître cette taille ?
- pourquoi le même programme écrit en .cpp a-t-il marché avec la commande "new" ?

Merci à tous et vive le sport
jeudi 1 mars 2007 à 15:34:28 | Re : taille maximum tableaux

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
La taile maxi est fonction de ce dont dispose le système au moment où on demande l'alloc dynamique.
Dans tous les cas sous Windows, c'est un peu moins de 2 Go sur Win32 et en teras sur Win64.

ciao...
BruNews, MVP VC++
jeudi 1 mars 2007 à 16:14:22 | Re : taille maximum tableaux

yepla75

Je ne comprends pas bien...

Mon allocation initiale était statique, i.e. "char tab[4000000000]" par exemple (me rappelle plus la taille) => plantage à l'exécution ; en faisant le même prog en .cpp avec "new tab[4000000000]" je crois, ça marchait bien.

J'ai compris ta réponse à propos de l'alloc dynamique ; mais pour l'allocation statique ? Le système ne travaille-t-il pas de la même manière ? Pourquoi dans un cas ça marche et pas dans l'autre ?

Et dans le cas de l'alloc statique, y ' a-t-il un moyen de connaître la taille max ?

Merci BRU

jeudi 1 mars 2007 à 16:43:02 | Re : taille maximum tableaux

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
char tab[xxx];
n'est pas une ALLOCATION mais une réservation sur la pile (sub esp, xx) et comme tu dépasses de très loin la taille de la pile c'est badaboum.

Prends par habitude demander une alloc mémoire au dessus de 2Ko, ça évite tout problème.

ciao...
BruNews, MVP VC++
jeudi 1 mars 2007 à 17:19:32 | Re : taille maximum tableaux

yepla75

nickel ; pour finir, qu'entends-tu par pile(sub esp, xx) ? (sub esp, surtout)

merci
jeudi 1 mars 2007 à 17:43:30 | Re : taille maximum tableaux

turnerom

En fait, tu n'a pas le meme comportement, car en C tu fais une alloc statique et en C++ une alloc dynamique. Si en C tu fais pas char tab[4000000000] mais char * tab = (char*) malloc(sizeof(char)*4000000000) alors la tu auras le meme comportement qu'en C++.
jeudi 1 mars 2007 à 17:55:32 | Re : taille maximum tableaux

BruNews

Administrateur CodeS-SourceS
c'est idem le comportement en C++ comme en C.

char sz[40];
dans une fonction sera sur pile que soit C ou C++.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : taille, programme, tableaux, cpp, maximum


Répondre à ce message

Sujets en rapport avec ce message

help me please [ par fafouet ] hello je suis en stage je ne me connais pas trop en cpp et la j'ai un soucisen fait je veux creer un vector dans un constucteur en tant que membre de Que fait Dev Cpp pour un prog win? [ par floindahouse1 ] Lorsque je crée un projet "programme windows" sous dev cpp, et que je remplace tout le main.cpp par:#...int main(){MessageBox(....)}lorsque je lance l Pb de tri et taille de tableaux [ par daarkon666 ] 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 so recuperation de diverses informations d'un projet C [ par siphilis ] bonjour,alors ma situation: j'ai deja posé d'autre question à ce sujet, mais n'ayant pas de reponse, je regroupe le tout et vous demande de l'aide. je probleme avec de gros tableaux [ par gillescpp ] Bonjour, Voila, c'est en rapport avec un message que j'ai laissé ddans la partie opengl. Dans ce code, j'y avais ajouté des lignes a inscrire dans u interfacé cpp avec qt [ par bordeaux ] Bonjour, j'ai crée un programme en cpp que l'on peut appeler noyau et une interface en qt qui ouvre un filedialog. J'aimerais me servir du programm Interfacé qt et cpp [ par bordeaux ] Bonjour, j'ai crée un programme en cpp que l'on peut appeler noyau et une interface en qt qui ouvre un filedialog. J'aimerais me servir du program Intégrer une image dans un programme [Dev-cpp] [ par by_rabbit_08 ] Salut!! Je me demandais si quelqu'un savait comment intégrer une image dans un exécutable, et pouvoir l'utiliser ensuite... Est-ce que quelqu'un peut débordement de tableaux en cpp [ par lrocques ] Hello,Je souhaiterais détecter des débordements de tableaux en cpp sous visual-C6. Quels sont les différents outils ou options qui existent pour cela? Comment copier un fichier .H et un fichier.CPP d'un programme à un autre [ par soamie2001 ] Salut à vous,J'ai ecris un programme x en C++ sous visual studio.net qui comprend des fichiers H et des fichiers CPP.Manitenant j'ecris un programme y


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales