Page 1 sur 3

programmation en C

Message non luPosté: 13 Oct 2011, 19:12
de hermes
bonsoir,

serait-il possible de savoir si la ti89 peut executer un programme en C si oui quel est le mode de fonctionnement de tel programme et avec quel outil peut on les créés et les utiliser.

merci pour vos reponces

Re: programmation en C

Message non luPosté: 13 Oct 2011, 19:18
de Wellen
TiGCC permet de programmer en C pour ti89 :bj:
http://tigcc.ticalc.org/ (downloads, screenshots, tutos, exemples...)
Bon, tout en anglais, j'espère que t'as pas peur ^^

Après compilation, j'imagine qu'il faut un kernel du genre preOS pour pouvoir le lancer sur ta calto

exemple sur Ti-Planet : archives_voir.php?id=2199&play=

Re: programmation en C

Message non luPosté: 13 Oct 2011, 19:26
de Kiligolo
En fait, pour le krenel, il n'y en a pas besoin dans la plus part des cas.
Pour faire un programme qui marche sans krenel, il suffit de ce code minimum :
Code: Tout sélectionner
#include <tigcclib.h> //inclus tous les headers de tigcc

int _main()
{
          //code
}

Re: programmation en C

Message non luPosté: 13 Oct 2011, 19:54
de Wellen
okay je sais pas je connais pas/peu tout ça.. chui plutôt z80 ^^

Re: programmation en C

Message non luPosté: 13 Oct 2011, 21:33
de Bisam
Il existe même un compilateur couplé avec un éditeur sur la calculette elle-même.
Il s'appelle GTC et est largement inspiré de TIGCC.
Le compilateur est moins performant que celui de TIGCC puisqu'il fonctionne sur calculatrice et non sur ordinateur, il ne reconnait pas certaines fonctions usuelles en C et présente quelques bugs (dont une fuite de mémoire)... mais il marche tout de même assez bien pour faire pas mal de choses et tester des modifications faites au fur et à mesure sur la calculette quand on n'a pas d'ordi sous la main.

Re: programmation en C

Message non luPosté: 14 Oct 2011, 16:21
de Loulou 54
Je crois qu'il y a aussi un certain "GCC4TI" qui serait aussi une version on calc si je me rappelle bien : plus récent et meilleur que TIGCC je crois d'après Lionel.
J'ai jamais testé cependant.
J'utilise TIGCC qui est très bien, il est directement lié à l'émulateur VTI, ce qui permet de tester en un clic son programme ! (pour la version 0.95... Il existe aussi une 0.96 liée à TI Emu, mais je me rappelle qu'elle beuguait sur mon ordi.. La 0.95 me suffit. :) )
De plus, il y a une documentation assez complète qui est très utile !

Pour apprendre les fonctions de base et plus sur la prog avec TIGCC, il y a un tuto non achevé mais déjà suffisant pour se lancer :
http://www.squalenet.net/fr/ti/tutorial ... ction.php5

Voilà, à toi de voir, n'hésite pas à poser tes questions ! :D

PS : pour lancer un programme en C, il faut envoyer le fichier ASM *.89z sorti par TIGCC à ta TI et l'exécuter comme un programme normal. :)

Re: programmation en C

Message non luPosté: 14 Oct 2011, 18:58
de Lionel Debroux
La dernière beta de TIGCC, 0.96 Beta 8, remonte à cinq ans, et son mainteneur ne fait plus grand chose de productif dans la communauté depuis environ trois ans. TIGCC 0.95 est encore plus vieux, a plus de bugs... il vaut mieux l'éviter ;)

GCC4TI ( https://github.com/debrouxl/gcc4ti ) est en effet plus récent, et fournit plus de fonctions (et leur doc), plus d'optimisations, et moins de bugs que TIGCC. Il y a le choix entre l'intégration avec VTI et l'intégration avec TIEmu. TIEmu est beaucoup plus fidèle au matériel, et réduit donc d'autant les risques de faire des programmes qui fonctionnent sur émulateur mais plantent les machines réelles.
GCC4TI 0.96 Beta 10 peut être téléchargé sur TI-Planet: Binaires Windows, Sources *nix. Je viens de mettre à jour la page des téléchargements, https://github.com/debrouxl/gcc4ti/wiki/Download .

Après l'installation, il est conseillé d'effectuer les manipulations suivantes, pour corriger des bugs (dont certains étaient présents dans TIGCC depuis probablement 1999, mais n'ont été découverts que peu après GCC4TI 0.96 beta 10... ça montre à quel point TIGCC est bien testé...). Traduction française raccourcie de https://github.com/debrouxl/gcc4ti/wiki/SprtRoutinesFix :

* télécharger tigcc.a recompilé depuis http://www.mirari.fr/sncx , l'enregistrer dans le sous-répertoire lib du répertoire d'installation de GCC4TI
* éditer le fichier include/c/sprites.h pour remplacer les lignes correspondant à Sprite8/16/32 par:
Code: Tout sélectionner
extern void Sprite8(short asm("d0"),short asm("d1"),short asm("d2"),const unsigned char* asm("a0"),void* asm("a1"),short asm("d3"))__ATTR_LIB_ASM__;
extern void Sprite16(short asm("d0"),short asm("d1"),short asm("d2"),__cpushort asm("a0"),void* asm("a1"),short asm("d3"))__ATTR_LIB_ASM__;
extern void Sprite32(short asm("d0"),short asm("d1"),short asm("d2"),__cpulong asm("a0"),void* asm("a1"),short asm("d3"))__ATTR_LIB_ASM__;

* éditer le fichier include/c/stdlib.h pour remplacer les lignes correspondant à bsearch et qsort par:
Code: Tout sélectionner
extern void *bsearch(const void* asm("a0"),const void* asm("a1"),short asm("d0"),short asm("d1"),compare_t asm("a2")) __ATTR_LIB_ASM__;
extern void qsort(void* asm("a0"),short asm("d0"),short asm("d1"),compare_t asm("a2"))__ATTR_LIB_ASM__;


Documentation en ligne (de la version Git, plus avancée que la version 0.96 Beta 10): http://debrouxl.github.com/gcc4ti

Re: programmation en C

Message non luPosté: 15 Oct 2011, 13:54
de Loulou 54
GCC4TI comporte donc un éditeur on calc et aussi une IDE pour l'ordi ?

Re: programmation en C

Message non luPosté: 15 Oct 2011, 14:09
de Lionel Debroux
GCC4TI comporte donc un éditeur on calc et aussi une IDE pour l'ordi ?

Hmm ? Nan, juste des IDE pour l'ordinateur (un pour Windows, et des portages 1:1, donc mal foutus, pour KDE).
GCC4TI n'a pas plus, ou moins, de composants on-calc que TIGCC :)

De son côté, GTC a un IDE on-calc, mais pas d'IDE pour l'ordinateur.

Re: programmation en C

Message non luPosté: 16 Oct 2011, 20:53
de hermes
Bonsoir,

serait il possible d'avoir un exemple de code en C qui fonctionne sur une TI89 juste pour voir le mode de fonctionnement d'un t'elle code ainsi que le type d'instruction

Merci de votre passience et de vos informations