Martial Demolins
:Tiens au fait, comment faites-vous pour vous en tirer quand vous êtess rendu au deuxième ou troisième niveau d'appel de fonctions, que vous faites une alloc qui ne marche pas? Si on a sauvegardé les registres à chaque nouvelle fonction, il n'est pas du tout évident de restaurer la pile correctement! J'ai pensé à sauvegarder a7 au début du prog principal, et de le restaurer "de force" en quittant, mais est-ce une méthode propre?
exit de TIGCCLIB fonctionne comme ça.
Sinon, tu peux aussi utiliser
ER_throw et consortes (ça fonctionne presque comme les exceptions C++ ou Java), ou renvoyer des valeurs d'erreur (NULL, -1 etc.) dans les fonctions en cas d'échec (comme suggéré par Ximoon dans le
./771).
Martial Demolins
:Réflexion soudaine-> ce n'est pas la peine de le faire en kernel en fait, il le fait tout seul non?
Si,
Universal OS ne le fait pas.