Posté le 20/02/2021 12:31
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 225 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
Citer : Posté le 20/02/2021 13:59 | #
Oui c'est un peu chiant ça, le compilateur et/ou le linker n'est pas très fort (ce SDK est assez vieux) donc il arrive pas à initialiser ImageCredits.
La raison, si tu veux, c'est que le compilateur doit produire dans le résultat de la compilation les octets qui serviront de valeur initiale à ImageCredits, et ces octets ce sont 4 octets contenant l'adresse de Realisation, 4 contenant l'adresse de Graphismes, etc. En gros il n'arrive pas à déterminer durant la compilation l'adresse qu'auront ces variables une fois le programme lancé.
C'est "normal" dans le sens où l'adresse n'est choisie que par le linker (une fois que tous les fichiers sont compilés), donc la valeur n'existe pas à ce stade. Si tu utilisais GCC pour compiler, il y arriverait, mais ne produirait pas les octets exacts, simplement une petite note pour que le linker insère la valeur au bon endroit après avoir choisi l'adresse. Visiblement les outils du SDK ne savent pas faire ça.
Peut-être que spécifier &Realisation, &Graphismes, etc pourrait aider, mais je ne suis pas sûr. Si ça ne marche pas, tu seras condamné à initialiser ton tableau toi-même :
ImagesCredits[0] = Realisation;
ImagesCredits[1] = Graphismes;
}
Il se peut aussi qu'il y ait une façon "propre" de le faire avec le SDK et que je l'aie simplement oubliée avec le temps. Tu pourrais regarder dans des vieux programmes pour voir si ça se faisait autrement.
Citer : Posté le 20/02/2021 14:42 | #
Non, spécifier &Realisation ne fonctionne pas non plus...
Donc je l'ai initialisé "à la main" : ça compile et ça fonctionne sans problème
Merci Lephé !
Tu aurais une idée de quelques vieux programmes spécifiques ? que je fouille pas tous les add-ins de Planète Casio...
Citer : Posté le 20/02/2021 15:38 | #
J'ai regardé Gravity Duck mais il fait un truc très douteux où les données sont déclarées dans les fonctions mais non-static donc il y a un risque de copie. Tu peux voir dans les add-ins de Darks éventuellement.
Citer : Posté le 20/02/2021 15:47 | #
Ok ! Merci !!