1

pk scanf n'est pas implementé ?

2

parceque scanf pu.

3

parce que la lib utilisée est celle de TIGCC 0.94 qui n'avait pas encore scanf... bref scanf sera présent dans une version future, mais pas tout de suite ^^

cela dit comme dit jyaif c'est vraiment le genre de fonction à fuir comme la peste, d'ailleurs son auteur lui-même dit que c'est juste pour faciliter le portage de programmes PC smile

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

4

ouais mais c'est standard et portable comme tu dis
en tout cas c'est cool de savoir que gtc va encore evoluer smile

5

En effet, scanf est vraiment à éviter.
scanf n'est pas fournie dans AMS, contrairement à strtod, dont le wrapper est connu pour tous AMS, mais n'a à ma connaissance jamais été réellement écrit en tant que code (j'ai écrit un mail décrivant le wrapper).
Il est donc nécessaire de l'embarquer dans ton programme... mais même avec l'implémentation plutôt optimisée taille de Kevin, c'est gros. Zeljko n'avait jamais voulu implémenter *scanf dans TIGCCLIB car c'était bien trop gros (~5 KB, je crois), et Kevin a implémenté un truc sensiblement plus petit que ce que Zeljko craignait.
Certes, l'implémentation de Kevin n'est pas 100% standards-compliant (des format strings invalides sont acceptés), mais c'est totalement justifié, pour conserver une taille faible - et puis l'utilisateur n'a qu'à pas écrire des conneries, qui seraient rejetées par virtuellement toute autre implémentation...

De plus, scanf utilise le registre a4, très rarement utilisé pour passer des paramètres. Je le sais parce que l'argument sort à chaque fois qu'on n'est pas d'accord avec Kevin sur les calling conventions... Pour moi, utiliser ce registre-là est une mauvaise idée, car c'est un des rares registres d'adresse utilisables pour des variables à durée de vie longue - et puis ça empêche d'utiliser -freg-relative-a4, qui est "tout simplement" la manière la plus efficace (taille et vitesse) d'accéder aux variables globales.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

6

7

Non, je ne crois pas.
Je crois qu'il parle d'utiliser tout au long de ton prog un registre d'adresses pointant sur la zone de ton programme contenant le segment de données (variables globales).
avatar
« 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. »

8

#6: c'est ça smile
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

9