2- Qu'est-ce qui ne marche pas précisément ?
Kevin : Si tu as utilisé des options qui ne l'ont pas été à la compilation de mon programme avec GTC, alors je refuse qu'on dise que GTC est battu

Pollux
a écrit : 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...
C'est quoi qui est mieux? La possibilité de programmer on-calc? Je veux voir comment tu veux faire rentrer un programme réel (pas de "Hello, World!") on-calc. Quelques exemples de programmes réels:
- Backgammon: fichier .c de 87494 octets, trop grand pour la calculatrice
- TI-Chess 4.00: 21 fichiers .c et 14 fichiers .h pour un total de 472 KO. Le plus grand fichier .c est engine.c qui fait 105760 octets, ce qui est trop grand pour la calculatrice. ...
Un compilateur on-calc est quelque chose de bien, mais il ne pourra jamais remplacer TIGCC. Quant à la version PC de GTC, je ne vois pas pourquoi on utiliserait un compilateur avec des extensions en moins et presque rien en plus. (Je peux rajouter le __attribute__((regparm(3,2))) (donc à 2 paramètres) à GCC pour TIGCC 0.95. Et il paraît que c'est la seule chose qu'il y a en plus.)
Un exemple: TI-Chess 4.00 est compilé en entier en 118 secondes, alors qu'il y a 8 versions compilées (version TI-89 en 4 langues et version TI-92+ en 4 langues). Ça ne fait même pas 15 secondes par version. Franchement, ce n'est pas beaucoup. Et la raison pour laquelle GCC est moins rapide que GTC est le nombre d'optimisations apportées à la source compilée.
Squale92:
je suis assez d'accord.
du moins, pr les gros projets
(ou, en fait, pr n'importe quel projet une fois qu'on a un certain niveau de prog)
qd on débutte, c bien pratique, surtout vu qu'on écrit que de petits progs (là, je parle pr l'ASM... mais ça doit être pareil pr le C)
Tu sous-entends là que TIGCC n'acceptera pas le code accepté par GTC. Ça ne devrait pas être le cas normalement.
Je n'ai utilisé que:
-Os, parce que c'est toi qui as commencé à l'utiliser pour ton benchmark et parce que:
Pollux a écrit : 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...
-fomit-frame-pointer, parce qu'il me semble bien que GTC fait ça par défaut. Et s'il ne sait pas faire (ce n'est certainement pas une option parce que Pollux dit qu'il n'y a pas de switches d'optimisation), c'est un défaut de GTC, donc on ne va pas limiter GCC pour avoir les mêmes défauts, juste parce que tu n'as pas lu la documentation (où toutes les options sont expliquées).
C'est idiot ça! On fait un bench avec les meilleures options proposées! Ce que Thibaut propose revient à dire: "On va faire une course entre un vélo et un camion. Mais comme le vélo en question ne peut pas dépasser 40 km/h, le camion n'aura pas le droit d'aller plus vite lui non plus. Et hop, le vélo a gagné, donc le vélo est plus rapide que le camion. " Ne viens pas me dire que ça peut vraiment être le cas pour certains camions: si ça te gène vraiment, remplace "camion" par "voiture de Formule 1", ça ne change rien à mon argument.
Théoriquement, il suffit que je fasse un header incluant tous les fichiers et que je compile ce header ?
asm { myfunc: pea "Hello world!"(pc) move.l 0xC8,a0 move.l ST_showHelp*4(a0),a0 jsr (a0) addq.l #4,a7 rts }
asm { myfunc: pea "Hello world!"(pc) move.l 0xC8,a0 ST_showHelp(a0) addq.l #4,a7 rts })