> Si j'ai bon souvenir, la gestion des exceptions des compilateurs c++ est dépendante du système d'exploitation.
Non. Tout ce qui est nécessaire, c'est de dépiler la pile des appels de fonction. Il n'y a pas d'appel système.
> Histoire de pouvoir catcher certains signaux par exemple.
Toujours pas. C'est une fonction qui va "catcher" les signaux, puis c'est (ou non) renvoyé à une exception C++. Ce renvoi est fait en C++ et n'utilise aucun appel système.
NB : les exceptions en C++ ne sont pas des "signaux" unix. C'est un mécanisme équivalent à longjump du C (j'ai oublié le nom exacte de la fonction). C'est équivalent mais en beaucoup beaucoup plus "luxueux" et sûr.
> De même, l'allocation mémoire via l'opérateur "new", ce qui n'est pas rien, est dépendante du système d'exploitation.
Oui car toute allocation mémoire dépend de l'OS (sauf système très particulier).
Mais il est possible d'allouer un gros bloque de mémoire (via un appel système) puis d'utiliser new sans jamais faire d'appel système.
[^] # Re: Le meilleur ?
Posté par IsNotGood . En réponse au journal mingw passe à gcc 4.2.1 (enfin presque). Évalué à 5.
Non. Tout ce qui est nécessaire, c'est de dépiler la pile des appels de fonction. Il n'y a pas d'appel système.
> Histoire de pouvoir catcher certains signaux par exemple.
Toujours pas. C'est une fonction qui va "catcher" les signaux, puis c'est (ou non) renvoyé à une exception C++. Ce renvoi est fait en C++ et n'utilise aucun appel système.
NB : les exceptions en C++ ne sont pas des "signaux" unix. C'est un mécanisme équivalent à longjump du C (j'ai oublié le nom exacte de la fonction). C'est équivalent mais en beaucoup beaucoup plus "luxueux" et sûr.
> De même, l'allocation mémoire via l'opérateur "new", ce qui n'est pas rien, est dépendante du système d'exploitation.
Oui car toute allocation mémoire dépend de l'OS (sauf système très particulier).
Mais il est possible d'allouer un gros bloque de mémoire (via un appel système) puis d'utiliser new sans jamais faire d'appel système.