234Fermer236
Kevin KoflerLe 19/11/2009 à 05:05
Zephyr (./231) :
(00:31:24) (Vertyos) Folco_ » http://tigcc.ticalc.org/doc/gnuexts.html#SEC98
(00:31:28) (Vertyos) You can define a global register variable in GNU C like this:(00:31:28) (Vertyos) register int *foo asm ("a3");

Attention, si tu utilises ça, il faut sauvegarder la valeur dans une variable locale (ou une variable globale "classique") et la restaurer à la fin, sinon ton programme détruit le registre. sick

Sinon, la chose propre à faire, c'est de ne pas avoir une structure "toutes les variables" du tout (quelle horreur! sick), mais de passer exactement les variables qui servent aux fonctions qui les utilisent. Une fonction n'a pas à accéder à une variable qui ne lui appartient pas. Et en général, une fonction n'a pas à modifier les paramètres passés non plus (dans le cas où c'est nécessaire, il faut passer par la valeur de retour ou alors lui passer un pointeur). Un code qui mélange toutes les variables dans une structure globale, c'est un code de porcs! sick