1

Salut,
Je voudrais savoir s'il est possible d'ecrire un truc du genre :

#ifdef TI89

(code special pour la ti89, style le masquage des touches du clavier)

#endif

#ifdef TI92P

(code special pour la ti92+)

#endif

#ifdef V200

(code special pour la ti92+)

#endif

Et ce pour que les executables produits par tigcc contienne la section de code correspondant, selon que ca soit le 89z le 9xz ou le v2z

Est ce que des constantes de ce style existe ? (c'est a dire mise a jour par le compilateur au moment ou il compile)

Merci
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

2

-

3

Tu peux utiliser la constante CALCULATOR qui vaut 0 pour les TI89 et une valeur non nulle pour les TI-92+/V200.

Tu peux spécifier à TIGCC de faire deux exécutables différents en fonction du modèle, en cochant "Optimize Calculator Constants" dans Projects -> Options -> Compilation -> Program Option -> Calculator.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

merci ca marche nickel
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

5

en fait j'ai menti, ca marche trop pas, les pseudo constantes ne sont pas evaluées lors de la compilation mais en runtime, ce qui fait que si j'ecris

#if CALCULATOR == 0 // ti89
... code correspondant
#else
... code pour 92+, v200
#endif

la constante CALCULATOR n'est pas connue pas le preprocesseur est donc il considère la condition CALCULATOR == 0 comme vraie et compile le code prevu pour 89
avec gcc il me semble que l'on peut passer une option du style -D pour definir des constantes du preprocesseur, est-ce que tigcc passe une constante comme ca pour differencier la creation des differents fichiers ? (j'espere ne pas dire de grosses conneries)
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

6

Essaye ça:
#ifdef USE_TI89
..code
#else
..code
#endif
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

je viens d'essayer, ca marche pas sad
le preprocesseur trouve que la constante est definie puisque je demande de compiler pour ti89, ti92+ et v200
donc il compile que la version ti89
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

8

c bon j'ai eu la reponse (merci Kevin), il faut faire comme tu as dit geogeo mais il faut compiler pour chaque calc séparement en decochant les cases des options du projet
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

9

Sasume :
Tu peux spécifier à TIGCC de faire deux exécutables différents en fonction du modèle, en cochant "Optimize Calculator Constants" dans Projects -> Options -> Compilation -> Program Option -> Calculator.

Ça ne résout pas ce problème, parce que ça évalue les constantes en temps de linking, pas en temps de compilation, donc on ne peut pas se servir du préprocesseur pour choisir un morceau de code plutôt qu'un autre avec cette méthode.
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é