CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] limite de mémoir

Virtuality
Virtuality
Niveau 8
22 novembre 2005 à 17:45:56

Salut,

j´ai une bête question qui m´embête dans mon dev...
En effet mon programme marchait parfaitement bien, jusqu´à ce que j´ajoute deux variables int dans la partie "private" de ma classe (le prog se lance et quitte directement).
J´ai essayé de mettre des bool, et la, le programme tourne correctement.
Y a t-il une limite de mémoir pour les variables définies dans une classe????
Sinon d´où peu provenir le problème?

Merci d´avance pour votre aide :-)

Lapintade
Lapintade
Niveau 30
22 novembre 2005 à 18:17:20

Je pense pas que de simple int peuvent te bouffer toutes ta memoire.

Faut reflechir plus largement :

Quand tu dis que ca "quitte", as tu tracé le code (avec le debugger pas a pas) pour savoir ou ca quittait ?

Virtuality
Virtuality
Niveau 8
22 novembre 2005 à 20:05:58

Malheureusement je peu pas utiliser le debugger actuellement car mon écran devient noir et il me reste plus que le reboot... Je sais que ça parait étrange lol mais c´est pourtant bien le cas!
J´en ai commandé un nouveau mais en attendant...

Pourtant je ne les utilises pas ces variables, je les ai juste déclarées....
et si je change le int en bool, ben le programme tourne... :(
c´est vraiment bizarre...

Virtuality
Virtuality
Niveau 8
22 novembre 2005 à 20:16:55

Bon, j´ai osé réessayer, ce coup ci, ça foire simplement... :
Debug :
"No symbol table is loaded. Use the "file" command.
error
Program received signal (SIGSEGV)
Segmentation fault"

comprend pas...

Si je fais run to cursor :
"Program received signal (SIGSEGV)
Segmentation fault
Continuing...
No source file named game.h.
error
Program received signal (SIGSEGV)
Segmentation fault"

comprend pas non plus :(

J´utilise GCC comme compilateur/debugger
merci...

1Fire_Stone
1Fire_Stone
Niveau 5
22 novembre 2005 à 20:35:31

Mot Clef Type Taille

int entier 16 bits;
char caractère 8 bits;
float réel 32 bits;
double réel 64 bits;
unsigned int entier 16 bits;
unsigned char caractère 8 bits;
long int entier 32 bits;
long double réel 80 bits;

A vrais sire j´ignore si ça peux t´aider mais dans le doute...

Virtuality
Virtuality
Niveau 8
22 novembre 2005 à 20:42:10

Ouais j´ai vérifié dans mon bouquin tout à l´heure, mais même si tous mes int sont en short ça ne marche pas...
(la taille d´un int est de 32 bits si on ne spécifie pas, non?)

dnob700
dnob700
Niveau 10
22 novembre 2005 à 21:39:52

avec GCC sous windows (mingw) il y a effectivement une limite de mémorie assez basse si tu déclare des variables dans le code source (et pas dynaiquement avec new ou malloc), je crois que ça tient au fait que le compilo alloue une pile bien trop petite et qu´il ne gère pas son redimmensionnement (mais j´en suis pas sûr).

Toujours est-il qu´il faut essayer des trucs dans le genre :
double tableau[20000];
ou
char phrase[1000][255];
avant de voir le programme planté (quoi que, c´est peut-être plus faible que ça).

Mais même si c´est moins, ce n´est pas 6 malheureux octets qui vont le faire planter.

Virtuality
Virtuality
Niveau 8
23 novembre 2005 à 08:36:16

Ben, moi j´ai seulement 6 int, 3 short int, 1 tableau de int de 10*15 et 2 bool.
Ca me semble quand même peu!
Pourtant il suffit que je retire un int et ça remarche lol.
Si c´est vraiment ce que tu dis, alors peut etre vais-je songer à prendre aussi visual toolkit 2003 pour mes projets avec SDL...

Virtuality
Virtuality
Niveau 8
23 novembre 2005 à 14:15:30

Bon j´ai décidé de réessayer de compiler mon prog avec visual toolkit 2003, mais j´ai un gros prob :
il ne trouve pas msvcrt.lib
Et j´ai beau chercher sur google, rien à faire, je peu n´y m´en passer, n´y la trouver.
Apparemment il n´est pas dans le platform sdk comme je l´avais lu.
Certains parlent de créer le .lib a partir de la dll, qqn sait le faire et pourrait m´expliquer?
merci...

Virtuality
Virtuality
Niveau 8
23 novembre 2005 à 14:26:47

Oubliez lol, en fait, j´avais défini une variable dans mon instructeur avec ´==´ au lieu de ´=´ :-)

Apparemment en résolvant cette erreur, j´ai pu rajouter mes 2 variables, bizarre :-p

Merci à vous :)

godrik
godrik
Niveau 30
23 novembre 2005 à 14:46:07

ce qui me gene un peu c´est que ca reboot la machine...
c´est dur a faire ca d´ahbitude (enfin, sur une machine qui n´a pas de probeme materiel;.. pas comme la mienne quoi)

Virtuality
Virtuality
Niveau 8
23 novembre 2005 à 17:14:21

godrik > j´ai pas compris ?
Tu te serais pas trompé de topic? :p)

dnob700
dnob700
Niveau 10
23 novembre 2005 à 19:41:04

non, ce qu´il veut dire c´est que c´est étrange qu´une erreru si simple finalement provoque un si gros plantage.

Virtuality
Virtuality
Niveau 8
23 novembre 2005 à 19:45:43

Ha ok lol.

Moi ce que je trouve le plus bizarre, c´est que le == était reconnu comme un = jusqu´à ce que je rajoute ces deux int...
M´enfin, j´ai renoncé à comprendre certaines choses avec les pc :-p

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment