1

Salut,

Je suis sûr d'avoir trouvé un BUG dans GTC, version on-calc : il réside dans la ligne commentée de la source suivante. Si je la décommente, il n'y a aucun warning, mais le programme produit crash. Et pourtant, elle n'influe pas sur le programme !

( Ce programme très court se contente de nettoyer la pile avant d'y pousser une chaine, évidemment destinée à être utilisée comme valeur de retour du programme. )

[source = 1114] (Mozilla Error ?)
Le gentil timide du 64

2

Essaies de reposter ton code sinon on peut pas faire grand chose tongue
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

3

#define USE_TI89 #define RETURN_VALUE #define MIN_AMS 101 #include <args.h> #include <estack.h> #include <stdlib.h> #include <printf.h> void _main(void){   // char resultats [4] = {"0+0+0+0","0+0+0+0","0+0+0+0","0+0+0+0"};   While(GetArgType(top_estack)!=END_TAG) top_estack = next_expression_index(top_estack);    top_estack --;   push_zstr("lolo"); }

(vu la tronche de la source, tu m'étonnes que ça plante... ^^ mais ça ne devrait même pas compiler)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

(surtout "While" ne risque pas de passer dans un compilo...)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5

As-tu essayé de compiler le programme avec TIGCC pour savoir si ça vient vraiment de GTC ?

T'es sûr de ta ligne ?
top_estack --;je sais plus s'il faut dépiler le tag de fin, mais ça m'étonnerait.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

6

estack_pop_bidule (enfin une fonction avec un nom similaire) me semblerais plus approprié ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7

Je me souviens que je ne touchais jamais à la valeur de top_estack moi, je travaillais seulement sur une copie. Et je ne nettoyais jamais la pile. Et ça marchait bien (même avec GTC).
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

8

Pourtant, c'est dans la doc wink
avatar

9

ah oui bon bah tongue
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

10

ok, ça vient du fait qu'il y a une erreur de type :
char resultats [4] = {"0+0+0+0","0+0+0+0","0+0+0+0","0+0+0+0"};
-> les éléments devraient être des char*, pas des char smile

mais en fait merci, ça montre trois bugs dans gtc :
- le générateur de code générait un "move.b a0,d5", mais ça n'existe pas donc il aurait dû faire un move.w
- l'assembleur acceptait de compiler ça
- il y avait un warning prévu pour la conversion automatique entier->pointeur, mais pas dans l'autre sens

j'uploade la version corrigée, par contre la flashapp ne sera pas corrigée tout de suite (il faut la signature de TI :/)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

En fait, j'ai fait une grosse erreur de débutant. Merci Pollux smile
Le gentil timide du 64

12

et aussi comme les données ne changent pas tu devrais déclarer ta variable en "static", le code sera plus rapide et plus petit happy (parce que là comme c'est une variable locale le compilateur doit s'amuser à tout recopier sur la pile à chaque fois)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

oui, mais j'utilise cette variable par la suite, et si j'archive, comme les données ne seront plus sur la pile dans le programme, les modifications sur le tableau de chaines n'auront pas lieues.
(en fait j'avais raccourcis le programme à son maximum)
Le gentil timide du 64

14

Désolé Pollux, j'ai eu tort. J'ai mis le tableau à static et le programme fonctionne impeccablement. Merci smile

Ah oui, merci à Zephyr pour avoir reposté ma source.
Le gentil timide du 64

15

Ceci est-ce normal ?
#define SAVE_SCR passe ==> la zone de statut n'est pas restaurée
(au lieu de SAVE_SCREEN)

Si c'est un bug, je pourrais avoir un lien sur le projet GTC ? Je l'ai paumé.
Le gentil timide du 64

16

C'est normal, tu peux définir n'importe quoi comme macros, mais si ça n'a pas le bon nom, ce ne sera pas pris en compte. (C'est pour ça qu'on a un dialogue pour ce genre de réglages dans TIGCC maintenant, ça évite ce genre de problèmes.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

Merci Kevin smile
En fait c'était une coïncidence, l'écran n'aurait pas être restauré quand j'avais défini cette ligne.
Il faut dire que sans pratique sur du long terme, je n'éprouve pratiquement aucune facilité en programmation. Heureusement que c'est juste pour le plaisir...
Le gentil timide du 64

18

Pollux, j'ai déniché une version de GTC en suivant un lien sur le forum. Elle a été signée le 04 avril d'après le nom du fichier (gtc-20070404-1515.9xk).
C'est la dernière ?

J'y ai constaté deux problèmes :

- j'ai un #include "toto" qui fonctionne mal. Voici le contexte : Le fichier qui contient ce code s'appelle main. Il est dans le même répertoire que le fichier toto : le répertoire test. Pour que le #include fonctionne, je dois indiquer le chemin de toto en tapant #include "test\toto". Pourtant, il me semble que lorsqu'on fait un #include avec des guillemets, le compilateur cherche le fichier dans le répertoire où se trouve le fichier qu'il est en train de traiter (test en l'occurrence). Il devrait donc trouver mon fichier toto sans que je lui indique le chemin, non ?

- à chaque compilation, je perds à peu près 2 ko de RAM.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

19

Non ce n'est pas la dernière cf cette page.
Pour les include le répertoire où il va les chercher si on ne précise pas est "GTCHDR" si je me souviens bien.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

20

OK mais il me semble qu'un compilateur C cherche dans son répertoire de headers seulement quand on met le nom du fichier entre < et >. Il me semble que les deux écritures (#include <...> et #include "...") ne sont pas équivalentes : les guillemets signifient que le fichier est un fichier utilisateur, donc situé dans le répertoire du projet.

Merci pour la dernière version smile Elle ne passe pas sur ma machine : TiLp affiche une erreur à la fin du transfert. Cette version n'est peut-être pas signée par TI ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

21

Thibaut (./20) :
OK mais il me semble qu'un compilateur C cherche dans son répertoire de headers seulement quand on met le nom du fichier entre < et >. Il me semble que les deux écritures (#include <...> et #include "...") ne sont pas équivalentes : les guillemets signifient que le fichier est un fichier utilisateur, donc situé dans le répertoire du projet.
ouais c'est vrai, mais là c'est spécial tongue
Thibaut (./20) :
Merci pour la dernière version smile Elle ne passe pas sur ma machine : TiLp affiche une erreur à la fin du transfert. Cette version n'est peut-être pas signée par TI ?
ça doit être ça oui, mais j'ai un certificat moi wink
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

22

Twindruff (./21) :
mais là c'est spécial tongue.gif
C'est à dire ? Moi je considère que GTC a un petit problème de compatibilité : si je tape #include "toto.c" avec TIGCC, ça marche wink Comment vois-tu la chose toi ?
Twindruff (./21) :
ça doit être ça oui, mais j'ai un certificat moi wink.gif
Ahhhh c'est vrai qu'il y a ces histoires de certificats personnels ! Déconnecté du monde TI depuis pas mal de temps, j'avais oublié ça ! On le demande où ce certificat ? boing
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

23

Pour le certificat, il faut mailer TI directement tongue
Par contre j'ai plus le mail sous la main, si une bonne âme passe par là... smile
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

24

Il est peut-être dans le readme de TI Flash Studio. Je vais le télécharger pour voir. Merci wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

25

Apres une petite recherche dans mes mails : ti-flashstudio-beta@list.ti.com wink
Mais il est possible que l'adresse ai changée depuis (debut 2005), je te laisse verifier happy
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

26

Thibaut (./20) :
Merci pour la dernière version Elle ne passe pas sur ma machine : TiLp affiche une erreur à la fin du transfert. Cette version n'est peut-être pas signée par TI ?

euh g le mm probleme ..je suis neo sur ti qq1 m'explique svp ? boing

27

Clique sur Signed calculator binary. Envoie dans ta calculette la Flash App qui se trouve dedans smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

28

Thibaut (./22) :
C'est à dire ? Moi je considère que GTC a un petit problème de compatibilité : si je tape #include "toto.c" avec TIGCC, ça marche wink Comment vois-tu la chose toi ?
Ben oui je suis d'accord, ce que je faisais c'est que je mettais mes headers dans GTCHDR mais pas très pratique neutral
Thibaut (./22) :
Ahhhh c'est vrai qu'il y a ces histoires de certificats personnels ! Déconnecté du monde TI depuis pas mal de temps, j'avais oublié ça ! On le demande où ce certificat ? boing
moi j'avais écrit à bdean1_at_ti.com je sais plus où j'avais trouvé cette adresse (mais elle est toujours dans mon carnet d'adresses tongue).
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

29

Thibaut

tu peux etre plus clair stp ? smile

30

Sur le site, clique sur
Clique sur "Signed calculator binary" pour télécharger la version signée.
Dézipe le fichier, et transfert à ta calculatrice le fichier "gtc-20070404-1515.9xk" qui se trouve dedans.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.