Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » RAM utilisable en C
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

RAM utilisable en C

Posté le 07/06/2014 14:14

Salut,
Je me demandais combien (environ) de RAM je pouvais réserver en C sans que ça fasse planter la calculette ...


Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 07/06/2014 14:21 | #


Si je me souviens bien, quelque chose de l'ordre de 32768 octets il me semble
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 07/06/2014 14:24 | #


OK merci !
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 07/06/2014 14:32 | #


Ne serait-ce pas surprenant que ce soit constant ? Il me semble que la RAM, c'est la mémoire principale...
Quoi qu'il en soit, la 85 est étiquettée "RAM : 64kio."
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 07/06/2014 14:44 | #


J'imagine que drac voulait savoir le nombre de variable allouable dans un add-in, et si mes souvenirs sont bon, on peut utiliser max 256*128 octets, et au-delà ça plante (mais il me semble aussi qu'on ne dispose pas de toute la ram max)
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 07/06/2014 14:59 | #


Je vois. Mais je sais que le SDK possède aussi une erreur :
Le compilateur a écrit :
The size of B&R section should be 0x2000 bytes or less.

Soit 8192 octets pour les globales et la même chose pour les locales à tout instant. 16384 octets.
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 09/06/2014 13:15 | #


J'avais fait des tests là dessus, c'est assez simple à coder :
char *p = NULL;
int size = 0;
do {
    free(p);
    size++;
    p = malloc(size);
} while (p != NULL);
size--;

A la fin de ce test, size contient la taille maximum allouable.

Mais sur Graph 85, il y a une subtilité que je n'explique pas : le résultat de ce test sera différent si on a préalablement alloué plein de petits buffers. Par exemple, tu alloues 1024 buffers de 4 octets chacun, tu les libères, puis tu refais le test, et la mémoire disponible sera presque 2 fois plus importante.

Une chose à savoir, c'est que malloc te donnera toujours une adresse multiple de 8 et la taille de l'espace mémoire alloué est également toujours multiple de 8, pour des histoires d'alignement mémoire.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 28 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd