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
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.
« 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
. »
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)
Essaye ça:
#ifdef USE_TI89
..code
#else
..code
#endif
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