je compile avec la nouvelle version de ti-gcc, et ça me fait une error undefigned reference to exit
quand j'utilise exit(0);
pourtant cette fonction est tjrs ds la doc !
si elle ne fonctionne plus, y a quoi comme fonction pour quitter le prog en plein milieu ?
Normalement, ca marche !!
Tu n'aurais pas oublié d'inclure les .h ???
Vive CF !!
Vive la Time To Team !!!
Il y a un define pour dire si on veut l'utiliser ou pas dans la derniere version ...
Et bien sur il faut inclure stdlib.h
simple :
*((char*)0) = 42;
pouf ça sort via l'anti-crash ! Mais faut un kernel
PpHd 2001-06-15 at 11:29am C vrai.
C + simple avec un kerbel.
si t'es dans la fonction _main, je pense que faire return; devrait marcher...
niuob 2001-06-15 at 11:29am en plus exit(0) c assez bourrin comme méthode pour sortir
>*((char*)0) = 42;
>pouf ça sort via l'anti-crash ! Mais faut un kernel
Faux, s'il n'y a pas de kernel, ça sort également, mais via ER_throw (avec une erreur "Protected Memory Violation"). (L'erreur "Protected Memory Violation" donne une erreur AMS normale, pas une barre noire.)
ben pour return, ça va pas je suis pas ds main
pourtant pour exit je fait tt simplment au debut du prog un include tigcclib.h,
et comment ça le definir ds le prog ???
en fait exit(0) marchait pas parce que j'avais foutu un define NO_EXIT_SUPPORT
c un truc qui est apparu ds certains nouveau prog alors je me suis dis que ça pouvais pas faire de mal...
au fait, il est ou l'interret de cette fonction ???, de ne pas quitter hors de main ?
C'est bien ce que je disait ...
Ca permet de gagner qq octets (pour pouvoir utiliser exit, il faut avoir un moyen de retrouver l'entrée du prog - TiGCC fait ca en modifiant l'adresse dans la pile, en armant le bit de poids fort)
PpHd 2001-06-15 at 11:29am Pour retrouver l'entree du prog, il suffit de memoriser l'adresse !
C'est pas l'adresse d'entrée, en fait, c'est pour restaurer la pile ... en fait, la fonction exit fait des unlink a6 et des rts, jusqu'a ce que le bit de poid fort de l'adresse dans la pile (adresse de retour) soit armé ...
PS: je me trompe peut-etre mais c'est ce que j'ai compris en regardant les sources ...