1

Voici un comparatif entre TIGCC et la version PC de GTC.

      |              concernant la COMPILATION              [] concernant le PROGRAMME compilé |
      +-----------------------------------------------------++---------------------------------+
      |       OPTIMISATION      | RAM UTILISEE |   TEMPS    []   TAILLE    | TEMPS d'exécution |
------+-------------------------+--------------+------------++-------------+-------------------+
GTC   |   imposée ("standard")  |    32 ko     | 4 secondes [] 2197 octets |   59 secondes     |
------+-------------------------+--------------+------------++-------------+-------------------+
TIGCC | taille et vitesse (-Os) | + de 32ko *  | 7 secondes [] 2281 octets |   52 secondes     |
------+-------------------------+--------------+------------++-------------+-------------------+

* : très probablement.


On voit que :
- GTC compile plus rapidement que TIGCC
- GTC a besoin de moins de RAM que TIGCC (vraiment très probable pour un compilateur de ce niveau)
- GTC a produit un programme plus petit

- TIGCC a produit un programme un peu plus rapide


Et maintenant, vous vous demandez quelles sources est capable de compiler GTC ?
Je n'y ai pas cru et pourtant c'est bien vrai : GTC a compilé sans broncher mon programme qui avait été codé pour TIGCC, je n'ai eu que le mot-clé inline à virer !
En clair, mon programme TIGCC a été compilé sans problème par GTC.

Voici la source : // Programmé par Thibaut Barthélemy // commentaires, questions : barthib@hotmail.com // C Source File // Created 08/09/02; 11:23:25 #define USE_TI89              // Compile for TI-89 #define USE_TI92PLUS          // Compile for TI-92 Plus #define USE_V200              // Compile for V200 #define MIN_AMS 100           // Compile for AMS 1.00 or higher #define SAVE_SCREEN           // Save/Restore LCD Contents #include <tigcclib.h>         // Include All Header Files #define LONG (6+1) #define HAUT (5+2) #define DEPA (LONG+1) #define PROFONDEUR_MAX 6 #define J_AI_GAGNE 16384 #define SANS_EFFET 0 typedef enum {BLANC=-1, NOIR=1, VIDE=0, FIN=2} CASE; #define swap_player(player) (player == BLANC ? NOIR : BLANC) CASE *jeu; short niveaux[LONG-1]; void init_jeu(void) {   short i;      for (i=LONG; i>=0; i--) jeu[i+LONG*(HAUT-1)+1]= jeu[i]= FIN;   for (i=DEPA; i<DEPA+LONG*(HAUT-2); i++)     jeu[i]= (i % LONG == 0) ? FIN : VIDE;   for (i=LONG-2; i>=0; i--) niveaux[i]= DEPA + i; } void dessine_jeu(void) {   short x, y, i= DEPA;      clrscr();      for (y=HAUT-2; y>=1; y--)   {     for (x=0; x<=LONG-2; x++)     {       MoveTo(12*x, 8*y);       switch (jeu[i])       {         case BLANC : putchar('O'); break;         case NOIR  : putchar('X'); break;         case VIDE  : putchar(' '); break;         case FIN   : putchar('#'); break;       }       putchar('|');       i++;     }     i++;   } } short alignement_possible(short repere) {   short countdown;   CASE  *pcase, *porig= &jeu[repere], joueur= *porig;         countdown= 3;   pcase= porig - LONG;   while (*pcase == joueur) {pcase-= LONG; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;         countdown= 3;   pcase= porig + 1;   while (*pcase == joueur) {pcase+= 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;      pcase= porig - 1;   while (*pcase == joueur) {pcase-= 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;         countdown= 3;   pcase= porig + LONG + 1;   while (*pcase == joueur) {pcase+= LONG + 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;      pcase= porig - LONG - 1;   while (*pcase == joueur) {pcase-= LONG + 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;         countdown= 3;   pcase= porig + LONG - 1;   while (*pcase == joueur) {pcase+= LONG - 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;      pcase= porig - LONG + 1;   while (*pcase == joueur) {pcase-= LONG - 1; countdown--;}   if (countdown <= 0) return J_AI_GAGNE;         return SANS_EFFET; } /* (inline n'est pas encore supporté par GTC) inline*/ short ajout_possible(short repere) {   return (repere < DEPA+LONG*(HAUT-2)); } /* (inline n'est pas encore supporté par GTC) inline*/ short ajouter_jeton(CASE joueur, short x) {   short repere= niveaux[x];      if (!ajout_possible(repere)) return 0;   jeu[repere]= joueur;   niveaux[x]+= LONG;      return repere; } /* (inline n'est pas encore supporté par GTC) inline*/ void retirer_jeton(short x) {   short index= niveaux[x] - LONG;      if (index < DEPA) return;   jeu[index]= VIDE;   niveaux[x]= index; } short difference_case(CASE joueur, short x, short profondeur, short pire_difference) {   short repere= ajouter_jeton(joueur, x);      if (repere != 0)   {     short difference= alignement_possible(repere);          if (difference != J_AI_GAGNE && profondeur > 0)     {       short colonne= LONG-2;       //short meilleure_prof= 0;       CASE adversaire= swap_player(joueur);              do       {         short diff_adverse= difference_case(adversaire, colonne, profondeur-1, -pire_difference);                  if (diff_adverse == J_AI_GAGNE)         {           difference= -1; // l'adversaire a gagné : 1 point pour lui (comme il va soustraire le résultat, il faut rendre -1 pour que ça lui fasse +1...)           break;          // on arrête de le faire jouer, il a gagné !         }         difference-= diff_adverse*(profondeur); // l'adversaire a gagné des points (négativement peut-être) : il faut les soustraire aux nôtres         /*if (difference <= pire_difference) break;                                       else pire_difference= difference;*/         //if (diff_adverse.profondeur > meilleure_prof) meilleure_prof= diff_adverse.profondeur;       } while (colonne--);     }          retirer_jeton(x);     return difference;   }      return 0; } short meilleure_colonne(CASE joueur) {   short colonne= LONG-2, sp= -1, stack[LONG-1];   short diff= -32768;      do   {     if (ajout_possible(niveaux[colonne])) // si la colonne qu'on veut tester n'est pas pleine     {       short celleci= difference_case(joueur, colonne, PROFONDEUR_MAX, 0);              if (celleci > diff)       {         diff= celleci;         sp= 0;         stack[0]= colonne;       }       else         if (celleci == diff) stack[++sp]= colonne;     }   } while (colonne--);      return stack[random(sp + 1)]; } short chute_jeton(CASE joueur, short x) {   short y= 0, stop, index= ajouter_jeton(joueur, x);      if (index == 0) return 0;   stop= 8*(HAUT - 2) - 8*((index - 1)/LONG - 1);   x*= 12;      while (y < stop)   {     short timer= 10000;          MoveTo(x, y); putchar(' ');     y++;     MoveTo(x, y); putchar(joueur == BLANC ? 'O' : 'X');     while (timer--) /* ralentissement */;   }      return index; } short entree_joueur(CASE joueur) {   short touche, x= 12*((LONG-1)/2);      do   {     MoveTo(x, 0);     touche= kbhit() ? ngetchx() : 0;     switch (touche)     {       case 340 : touche= 13; break;  // bas       case 344 : x+= 24;             // droite                  if (x > (LONG - 1) * 12) x= 12;       case 338 : putchar(' ');       // gauche                  x-= 12;                  if (x < 0) x= (LONG - 2) * 12;                  MoveTo(x, 0);                  break;       case 264 : return -1;     }     putchar(joueur == BLANC ? 'O' : 'X');   } while (touche != 13);   MoveTo(x, 0);   putchar(' ');      x= chute_jeton(joueur, x / 12);   if (x == 0) return entree_joueur(joueur);          else return x; } // Main Function void _main(void) {   short ordre;   clrscr();   printf("1- Vous commencezn2- Je commence");   ordre= ngetchx();      jeu= malloc((LONG*HAUT+2)*sizeof(*jeu));   init_jeu();   dessine_jeu();   randomize();   if (ordre == '1')     while (TRUE)     {       short choix= entree_joueur(BLANC);       if (choix == -1 || alignement_possible(choix)) break;       MoveTo(0, 0); printf("Je réfléchis...");       if (alignement_possible(chute_jeton(NOIR, meilleure_colonne(NOIR)))) break;       dessine_jeu();     }   else     while (TRUE)     {       MoveTo(0, 0); printf("Je réfléchis...");       if (alignement_possible(chute_jeton(BLANC, meilleure_colonne(BLANC)))) break;       dessine_jeu();       short choix= entree_joueur(NOIR);       if (choix == -1 || alignement_possible(choix)) break;     }   free(jeu);   MoveTo(0, 0); printf("Fin du jeu !");   ngetchx(); }
(c'est une ancienne version de mon Puissance 4, ne croyez pas que j'allais dévoiler la version qui déchire tout tongue)



Pollux : Etonnant ! Je suis sur le cul. J'ai faillit chialer quand je testais. Quand on voit de quoi tu es partit, je dirais que 60% des fonctionnalités (dont beaucoup sont extrêmement compliquées à coder) de GTC sont de ta main.
Respect éternel !
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.

2

c'est kler, "Eternal Respect !"
TI-NSpire Pwned !

Thx ya all...thx ExtendeD.

...The rebirth of the community...

3

Thibaut
a écrit : - GTC a produit un programme plus petit (mais si on enlève les patchs de la TIGCClib, les tailles doivent devenir les mêmes)

Attends:
* L'exécutable créé par GTC est-il en _nostub? Parce qu'il faut comparer ce qui est comparable. (Si c'est du kernel, mets aussi USE_KERNEL pour TIGCC.)
* Si GTC ne met pas les patches qui sont dans tipatch.lib, alors il n'est pas équivalent à TIGCC! OPTIMIZE_ROM_CALLS a besoin de son patch, SAVE_SCREEN aussi (à moins que le _nostub ne soit toujours pas supporté...), le support pour exit, atexit et assert aussi (GTC supporte-t'il ces fonctions?), ...
- TIGCC a produit un programme un peu plus rapide

Là encore: as-tu compilé en le même mode dans les 2 cas? Si ce n'est pas le cas, alors il se peut que la différence soit plus nette que celle que tu as trouvée.
Je n'y ai pas cru et pourtant c'est bien vrai : GTC a compilé sans broncher mon programme qui avait été codé pour TIGCC, je n'ai eu que le mot-clé inline à virer !

LOL, il ne comprend même pas inline! tongue
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é

4

erf ! smile
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

5

Et quand tu as supprimé inline, l'as-tu bien fait pour les 2 compilateurs? Parce que sinon, c'est normal que le code de TIGCC est plus grand!
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é

6

> L'exécutable créé par GTC est-il en _nostub?
Oui !

> Là encore: as-tu compilé en le même mode dans les 2 cas?
Lit mon tableau !

> il ne comprend même pas inline!
Vas-y mon cher Kevin, programme un compilateur, ça te fera taire...
inline n'est vraiment pas indispensable au fonctionnement même d'un programme. Le retirer ne change rien, on se retrouve juste avec un programme un peu moins rapide.
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.

7

La je crois qu'il parlais du compilo PC de GTCroll
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

8

> quand tu as supprimé inline, l'as-tu bien fait pour les 2 compilateurs ?
Voilà qu'il croit que j'ai -50 de QI gol
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.

9

Thibaut a écrit :
> il ne comprend même pas inline!
Vas-y mon cher Kevin, programme un compilateur, ça te fera taire...
inline n'est vraiment pas indispensable au fonctionnement même d'un programme. Le retirer ne change rien, on se retrouve juste avec un programme un peu moins rapide.

Et ben, s'il ne sait pas mettre une fonction en inline, il devrait quand-même compiler la source avec un warning "function inlining not supported", pas traîter inline comme un mot-clé inconnu!
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é

10

Thibaut a écrit :
> L'exécutable créé par GTC est-il en _nostub? Oui !

Et il le fait comment, le SAVE_SCREEN, s'il n'y a (selon toi) pas de système de patches? confus
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é

11

slubman > La je crois qu'il parlais du compilo PC de GTC

C'est la même chose !
De la même manière que j'ai pu compiler mon code avec GTC et TIGCC sans soucis, Pollux peu compiler GTC avec DJGPP (ou autre) et TIGCC sans soucis 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.

12


Thibaut a écrit :
- GTC a produit un programme plus petit (mais si on enlève les patchs de la TIGCClib, les tailles doivent devenir les mêmes)
Attends:
* L'exécutable créé par GTC est-il en _nostub? Parce qu'il faut comparer ce qui est comparable. (Si c'est du kernel, mets aussi USE_KERNEL pour TIGCC.)
* Si GTC ne met pas les patches qui sont dans tipatch.lib, alors il n'est pas équivalent à TIGCC! OPTIMIZE_ROM_CALLS a besoin de son patch, SAVE_SCREEN aussi (à moins que le _nostub ne soit toujours pas supporté...), le support pour exit, atexit et assert aussi (GTC supporte-t'il ces fonctions?), ...


- GTC crée un exécutable en _nostub
- GTC met les patch de tipatch.lib, donc il a bien créé un prog plus petit, dans les mêmes conditions
- TIGCC a produit un programme un peu plus rapide Là encore: as-tu compilé en le même mode dans les 2 cas? Si ce n'est pas le cas, alors il se peut que la différence soit plus nette que celle que tu as trouvée.

GTC n'a pas encore de mode optimisation vitesse ou mémoire en switch, mais la version que j'avais compilé était en mode plutôt optimisation mémoire... Thibaut si tu veux je peux te filer une version qui optimise un peu plus en vitesse (notamment les while smile)
Je n'y ai pas cru et pourtant c'est bien vrai : GTC a compilé sans broncher mon programme qui avait été codé pour TIGCC, je n'ai eu que le mot-clé inline à virer !
LOL, il ne comprend même pas inline! tongue

roll Toujours aussi DoubleK-ique ce type... GTC ne supportera probablement jamais inline, ou alors il recompilera la fonction en entier à chaque appel, pour des questions de ressources (une 89 c pas un PC embarrassed)

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

13

Kevin : Tu as raison pour inline. Mais ce n'est vraiment rien, je suis sûr que Pollux peu corriger ce détail en 2 clics de souris 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.

14

Pollux : y'a un bug dans ton post, on ne sait pas quand c'est toi qui parle grin

Oué, je veux bien la version qui optimise en vitesse !

PS : j'ai viré le commentaire (mais si on enlève les patchs de la TIGCClib, les tailles doivent devenir les mêmes) qui n'a plus lieu d'être top
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.

15

Pollux a écrit :
roll Toujours aussi DoubleK-ique ce type... GTC ne supportera probablement jamais inline, ou alors il recompilera la fonction en entier à chaque appel, pour des questions de ressources (une 89 c pas un PC embarrassed)

Ce n'est pas une raison de rejeter les programmes contenant ce mot-clé.
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é

16

cf #12 Kevin 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.

17

Kevin Kofler a écrit :
Et ben, s'il ne sait pas mettre une fonction en inline, il devrait quand-même compiler la source avec un warning "function inlining not supported", pas traîter inline comme un mot-clé inconnu!

c vrai smile je vais le rajouter...

Thibaut> il y a le sys de patch de TIGCC (cf post précédent)

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

18

Thibaut a écrit :
Kevin : Il n'y a pas de SAVE_SCREEN wink

Alors bonjour l'écran détruit! grin Mais Pollux dit que les patches de tipatch.lib y sont... confus
Thibaut
a écrit : Pollux peu compiler GTC avec DJGPP (ou autre)

DJGPP??? Il faudrait peut-être passer à Mingw32... Le DOS, c'était il y a quelques années...
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é

19

Kevin> SAVE_SCREEN y est smile

Thibaut>
Pollux : y'a un bug dans ton post, on ne sait pas quand c'est toi qui parle

C corrigé, ct à cause des [cite] imbriqués smile

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

20

Moi j'utilise toujours DJGPP, c'est le seul portage de gcc à marcher chez moiconfus

Sinon enfin de la concurrence pour TIGCC ça promettop
Plis fòs ba pengwen là !

mon site: http://www.slubman.info/
partie GP32: http://www.slubman.info/gp32
partie TI: http://www.slubman.info/ti

21

J'ai édité mes posts Kevin, je me trompais. Il y a a bien SAVE_SCREEN wink

> DJGPP??? Il faudrait peut-être passer à Mingw32... Le DOS, c'était il y a quelques années...
Pff tu lis ce que tu veux bien lire, toi roll Il y a quelque chose entre parenthèses après"DJGPP".
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.

22

Bon, j'ai compilé le programme de Thibaut avec:
tigcc -Os -fomit-frame-pointer test3.c
et hop:
Linked test3 - Size: 2117 bytes
Le fichier 89z fait 2205 octets. (Pourquoi as-tu choisi la taille du fichier 89z plutôt que la taille du fichier on-calc comme mesure de la taille?)

Mais j'ai mieux:
tigcc -Os -fomit-frame-pointer -DNO_CALC_DETECT test3.c
et hop:
Linked test3 - Size: 2081 bytes
Le fichier 89z ne fait plus que 2169 octets. tongue
La détection du modèle dans tipatch.lib est une optimisation quand tu utilises plusieurs fois des constantes qui dépendent du modèle de la calculatrice. Ici, tu n'en utilises pas du tout, donc NO_CALC_DETECT convient.

tigcc -Os -fomit-frame-pointer -DNO_CALC_DETECT -DNO_EXIT_SUPPORT test3.c
et hop:
Linked test3 - Size: 2061 bytes
Le fichier 89z ne fait plus que 2149 octets. tongue

On va voir si GTC saura descendre jusque là...

Quant au temps d'exécution, je ne sais pas comment tu l'as mesuré, donc je ne peux pas te donner la valeur, mais avec ces options, ça sera probablement plus rapide que sans ces options, donc encore plus rapide (c'était déjà plus rapide que GTC avant).
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é

23

Tu peux aussi rajouter

#define NO_CALC_DETECT
#define NO_EXIT_SUPPORT

dans GTC tongue

Sinon Thibaut je me reconnecte avec Free et je t'envoie la version optimisée en vitesse smile en attendant tu peux essayer avec les nouveaux #define...

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

24

Kevin tu es ridicule. On ne peut pas comparer un programme avec un autre si l'un a des choses en moins à l'intérieur hum
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

top

26

Thibaut> compare en rajoutant les 2 #defines, ça fera plaisir à Kevin smile

Sinon concernant le 1er post :
Temps GTC -> 4 secondes : t'as quoi comme config? moi ça me prend 0.5 secondes sur mon P2 350...
Mémoire TI-GCC -> ça m'étonnerait qu'il bouffe moins d'1 Mo...

Sinon je vais t'envoyer la version optimisée en vitesse

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

27

Reste le fait que rien qu'en mettant -fomit-frame-pointer (donc en ne supprimant aucun patch), la différence de taille avec GTC n'est plus que de 8 octets...
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é

28

Pollux
a écrit : Mémoire TI-GCC -> ça m'étonnerait qu'il bouffe moins d'1 Mo...

GCC nécessite plusieurs MO de RAM en effet.
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é

29

Domage que j'ai arreter la programmation on ti.. sinon j'aurai fait une version Xlib en c avecsmile (specila preshifting).
C'est du beau boulot, mais je crain qu'il n'y ai plut bcp d'utilisateurs...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

30

> Reste le fait que rien qu'en mettant -fomit-frame-pointer (donc en ne supprimant aucun patch), la différence de taille avec GTC n'est plus que de 8 octets...
N'empêche que c qd même plus petit, pour une compilation au moins 15x plus rapide tongue

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