1

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 ?

2

Normalement, ca marche !!
Tu n'aurais pas oublié d'inclure les .h ???
Vive CF !!
Vive la Time To Team !!!

3

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

4

simple :
*((char*)0) = 42;
pouf ça sort via l'anti-crash ! Mais faut un kernel

5

C vrai.
C + simple avec un kerbel.

6

si t'es dans la fonction _main, je pense que faire return; devrait marcher...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

7

en plus exit(0) c assez bourrin comme méthode pour sortir

8

>*((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.)
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é

9

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 ???

10

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 ?

11

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)

12

Pour retrouver l'entree du prog, il suffit de memoriser l'adresse !

13

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 ...

14

Comment ca ?
En C chaque fonction fait un link a6,#xx au depart, donc on peut retrouver tous les stack-frames en faisant des unlink a6 (ou en le faisant a la main)

M'enfin, tu doit savoir ca, si tu fais un compilo C pour GTools tongue

15

Oui mais il suffit qu'il y ait la moindre couche asm / c pour que ca plante.
Mais pourquoi il memorise pas la pile, et le pc au demarrage. c si simple confus