1

Je voulais svoir comment programmer en C pour la ti 92+, il y a t'il un editeur special, les headers sont t'il les meme que 'il on programme sur PC, faut 'il connaitre les differente fonctions des kenel ect....

2

>il y a t'il un editeur special,

Oui, TIGCC (et TIGCC IDE). (Télécharge la "latest unofficial version", elle est tout aussi stable que la version "officielle" - elle devrait devenir officielle dans quelques jours -, mais bien plus récente.)

>les headers sont t'il les meme que 'il on programme sur PC,

Pas tout à fait. Il y a certains headers comme stdio.h et stdlib.h qui sont presque compatibles ANSI (il y a quand-même des légères différences, lis la documentation qui accompagne TIGCC). Mais il y a beaucoup de fonctions non-ANSI, souvent plus rapides, plus pratiques et/ou plus adaptées. Et il suffit d'inclure un seul header: tigcclib.h pour avoir toutes les fonctions.

Certaines options de linking se spécifient par des #defines qui fonctionnent comme des #pragmas. TIGCC IDE te créera automatiquement un cartouche avec les #defines qu'il faut et avec #include "tigcclib.h.

Enfin, dernière différence: la fonction principale est void _main(void), pas int main(int,char *[])

>faut 'il connaitre les differente fonctions des kenel ect....

Les fonctions des kernels, non. Les ROM_CALLs de AMS, préférablement oui. Elles sont dans la documentation de TIGCC. Il y a quand-même des fonctions compatibles ANSI, mais comme déjà dit, les ROM_CALLs servent souvent.
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é

3

Bah, en premier lieu, il te faut le bon logiciel : TI-GCC
Le site : ici
Le download : ici (attention, c'est la version 0.93 BETA)

N'essaie pas d'utiliser le compilateur de Texas : il est de la merde grin

Ensuite, la programmation, c'est pas la même que sur PC contrairement à ce qu'on dit. C'est ressemblant, mais c'est pas tout à fait les mêmes fonctions. Par exemple, la fonction scanf n'existe pas pour les TI.

Exemple de différences entre un programme PC et un programme TI : Le programme "Hello, world!"

PC :
#include <stdio.h>
main ()
{
printf("Hello, world!");
return 0;
}

TI :
#define USE_TI89 // compile le programme pour la TI89
#define USE_TI92PLUS // compile le prgramme pour la TI92+

#define SAVE_SCREEN // sauve l'écran de la calculatrice, puis le restaure à la fin du prgramme

#include <stdio.h>
#include <kbd.h>
// pour ngetchx()

void _main(void)
{
clrscr(); // Efface tout l'écran de la calculatrice
printf("Hello, world!");
ngetchx(); // Attend l'appuis d'une touche pour continuer
}


Pour le tutorial de programmation en C, tu peux te démerder avec le fichier d'aide de TIGCC (il est très complet, mais il est en anglais).
Si tu veux, il existe une traduction française de ce fichier faite par LittleBoy qui n'est toujours pas finie. (http://tigcctrans.sourceforge.net)
Il y a maintenant un nouvelle version de l'aide de TIGCC disponible ici (toujours en anglais, attention, c'est une version BETA). Elle est mieux faite. Il suffit de remplacer le fichier tigcc.chm dans le répertoire \TIGCC\DOC par ce nouveau fichier.

Sinon, il existe un tutorial pas mal fait par Squale92 qui apprend rapidement à programmer sur TI quand on sait déjà programmer sur PC. (http://squale92.multimania.com)

Voilà !
[edit]Edité par DropF le 26-01-2002 à 17:48:00[/edit]
[edit]Edité par DropF le 26-01-2002 à 17:57:59[/edit]
[edit]Edité par DropF le 26-01-2002 à 17:59:34[/edit]

4

>N'essaie pas d'utiliser le compilateur de Texas : il est de la merde grin

En effet. grin Et donc tu n'aurais même pas dû en parler. grin

>Ensuite, la programmation, c'est pas la même que sur PC contrairement à ce qu'on dit. C'est ressemblant, mais c'est pas tout à fait les mêmes fonctions. Par exemple, la fonction scanf n'existe pas pour les TI.

C'est ce que j'ai dit: il y a des différences.

>PC :
>#include <stdio.h>
>main ()

int main(void), pas main (), si tu déclares proprement.


>TI :
>#define USE_TI89 // compile le programme pour la TI89
>#define USE_TI92PLUS // compile le prgramme pour la TI92+

#define USE_V200 // compile le programme pour la Voyage 200

>#define SAVE_SCREEN // sauve l'écran de la calculatrice, puis le restaure à la fin du prgramme
>
>#include <stdio.h>
>#include <kbd.h> // pour ngetchx()

Inutile.
#include <tigcclib.h> suffit, et l'IDE te le met automatiquement.

>void _main(void)
>{
>clrscr(); // Efface tout l'écran de la calculatrice
>printf("Hello, world!")

Mieux:
ClrScr();
DrawStr(0,0,"Hello, world!",A_NORMAL);

(utilise les ROM_CALLs)

>ngetchx(); // Attend l'appuis d'une touche pour continuer
>}


>Pour le tutorial de programmation en C, tu peux te démerder avec le fichier d'aide de TIGCC (il est très complet, mais il est en anglais).
>Si tu veux, il existe une traduction française de ce fichier faite par LittleBoy qui n'est toujours pas finie. (http://tigcctrans.sourceforge.net)

Et ce qui est traduit est vieux. (Certaines choses ont été changées ou corrigées entretemps.)

>Il y a maintenant un nouvelle version de l'aide de TIGCC disponible ici (toujours en anglais, attention, c'est une version BETA). Elle est mieux faite. Il suffit de remplacer le fichier tigcc.chm dans le répertoire TIGCCDOC par ce nouveau fichier.

Le lien n'est plus valable (erreur 404). La nouvelle aide est maintenant incluse dans la dernière beta ("unofficial"). Et elle est pratiquement finie (toutes les informations de l'ancienne documentation y sont).
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é

5

Merci Kevin pour toutes tes rectifications smile
(même si le main() est plus court que int main(void) grin)

Sinon, moi aussi j'utilise DrawStr au lieu de printf ; c'était juste pour la comparaison wink
[edit]Edité par DropF le 26-01-2002 à 19:02:03[/edit]

6

>(même si le main() est plus court que int main(void) grin)

Mais interdit selon le nouveau standard ISO-C99. (Il faut au moins le int.) Et puis si on ne met pas void, ça veut dire "n'importe quels paramètres", pas "aucun paramètre". (Ça a peu d'importance, mais il y a quand-même une nuance. Notamment quand quelqu'un essaye de passer des paramètres à une fonction qui n'en veut pas.)
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é

7

ah, là, je peux rien dire !
Je suis pas trop au courant parce que ça fait longtemps que je ne programme plus sur PC, et en plus, j'utilise un vieux logiciel (Borland Turbo C++ IDE 3.0)

8

GCC 3.0.3 l'accepte quand-même avec un warning.
Mais un compilateur C99 n'est pas obligé de l'accepter.
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é

9

>int main(void), pas main (), si tu déclares proprement.
Je connais des Gcc qui a int main(void) t'envoies un warning !
Je prefere un int main() qui passe a tous les coups.

10

arf... en cours, tout le monde me demandait pkoi je mettai
void main(void) et pas void main() comme le prof nous apprenias...
l'habitude grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

11

Soyons rigoureux, les jeunes grin

12

oué...
mon prof est un vieux !
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

13

lol
A son époque, ils programmait encore en A ou en B grin

14

oué...
j'ai jamais entendu parler du A...
par contre, le B, je sais que c'est lancètre du C
(je sais pas si tu disais ça de manière ironique... mais y'za vraiment eu un langage nommé B !!!)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

15

Non pour le A je sais pas, mais il me semble déjà avoir entendu parler du B.
http://www.atelierb.societe.com/PAGE_B/fr/langb.htm

16

Oué, je SAIS qu'il y a eu un langage nommé B !!!
J'en parle dans mon tuto, dans la partie "historique du C" !!!
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

17

Sinon comme editeur, y'a aussi ultraEdit : http://www.ultraedit.com
avec la coloration syntaxique : ftp://ultraedit.com/wf/asm_m68000.txt pour le 68000.
Et aussi la completion automatique des mots (bases sur les instructions du wordfile et des mots deja tapes) par CTRL + ESPACE : indispensable !

18

bah avant C on ce doute qu il a B et A, et pk le C++ c pas appelle le D et le C# le E, lol picolgrin
Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.