Bonjour,
Compilateur utilisé: Visual studio C++ .NET 2003 (VC7)
STL utilisées: STL Hewlett-Packard V3.13:009 (version fournie de base avec
Visual Studio).
mode d'inclusion de la CRT: debug-multithreaded-dll
voila mon problème.
Nous avons une application qui pour des raisons de performance ou de
portabilité sur des plateformes embarquées a besoin de désactiver les
exceptions.
Pour ce qui est de désactiver les exceptions dansle code des STL nous
utilisons la commande préprocesseur suivante:
#define _HAS_EXCEPTIONS 0
et ceci avant l'inclusion des headers de STL.
ce qui nous donne droit aux message d'erreur suivants a la compilation
typeinfo.h(59) : error C2504: 'exception' : base class undefined
typeinfo.h(66) : error C2504: 'exception' : base class undefined
ostream(604) : fatal error C1903: unable to recover from previous error(s);
stopping compilation
Alors, si un aimable participant de ce forum a deja rencontré ce problème et
a une piste a proposer, et bien ça débloquerai la situation.
Nous n'avons pas fait de mesure au niveau performance, mais au niveau du code généré nous avons un surcout de taille de l'ordre de 20% avec les exceptions activées. Le code en question est celui d'un moteur de rendu graphique 3D.
Au final, ce que j'ai fait pour m'en sortir: Je n'ai utilisé aucune macro de désactivation des exceptions. j'ai désactivé les exceptions uniquement dans le projet. pour me débarrasser des quelques 5000 warnings que j'avait (qui m'indiquaient que le code des exceptions n'etait pas compilé car c'etait désactivé dans le projet a chaque fois qu'il tombait sur un try, catch ou throw ...), j'ai utilisé un pragma de désactivation du warning. au final, ça a généré un code qui ne contenait pas de gestion d'exceptions (plus petit), et probablement plus rapide. C'est un poil crade comme solution... mais bon.
J'ai désactivé les "Pierre THIERRY" a écrit dans le message de news:
Nous avons une application qui pour des raisons de performance ou de portabilité sur des plateformes embarquées a besoin de désactiver les exceptions.
Étant donné que j'aimerais développer, dans l'année qui vient, sur de l'embarqué, ça m'intéresse : comment avez-vous mesuré l'impact des exceptions ? Quels ont été les résultats ?
Curieusement, Nowere man --
OpenPGP 0xD9D50D8A
Nous n'avons pas fait de mesure au niveau performance, mais au niveau du
code généré nous avons un surcout de taille de l'ordre de 20% avec les
exceptions activées.
Le code en question est celui d'un moteur de rendu graphique 3D.
Au final, ce que j'ai fait pour m'en sortir:
Je n'ai utilisé aucune macro de désactivation des exceptions.
j'ai désactivé les exceptions uniquement dans le projet.
pour me débarrasser des quelques 5000 warnings que j'avait (qui
m'indiquaient que le code des exceptions n'etait pas compilé car c'etait
désactivé dans le projet a chaque fois qu'il tombait sur un try, catch ou
throw ...), j'ai utilisé un pragma de désactivation du warning.
au final, ça a généré un code qui ne contenait pas de gestion d'exceptions
(plus petit), et probablement plus rapide.
C'est un poil crade comme solution... mais bon.
J'ai désactivé les
"Pierre THIERRY" <nowhere.man@levallois.eu.org> a écrit dans le message de
news: pan.2006.07.18.08.35.25.102260@levallois.eu.org...
Nous avons une application qui pour des raisons de performance ou de
portabilité sur des plateformes embarquées a besoin de désactiver les
exceptions.
Étant donné que j'aimerais développer, dans l'année qui vient, sur de
l'embarqué, ça m'intéresse : comment avez-vous mesuré l'impact des
exceptions ? Quels ont été les résultats ?
Curieusement,
Nowere man
--
nowhere.man@levallois.eu.org
OpenPGP 0xD9D50D8A
Nous n'avons pas fait de mesure au niveau performance, mais au niveau du code généré nous avons un surcout de taille de l'ordre de 20% avec les exceptions activées. Le code en question est celui d'un moteur de rendu graphique 3D.
Au final, ce que j'ai fait pour m'en sortir: Je n'ai utilisé aucune macro de désactivation des exceptions. j'ai désactivé les exceptions uniquement dans le projet. pour me débarrasser des quelques 5000 warnings que j'avait (qui m'indiquaient que le code des exceptions n'etait pas compilé car c'etait désactivé dans le projet a chaque fois qu'il tombait sur un try, catch ou throw ...), j'ai utilisé un pragma de désactivation du warning. au final, ça a généré un code qui ne contenait pas de gestion d'exceptions (plus petit), et probablement plus rapide. C'est un poil crade comme solution... mais bon.
J'ai désactivé les "Pierre THIERRY" a écrit dans le message de news:
Nous avons une application qui pour des raisons de performance ou de portabilité sur des plateformes embarquées a besoin de désactiver les exceptions.
Étant donné que j'aimerais développer, dans l'année qui vient, sur de l'embarqué, ça m'intéresse : comment avez-vous mesuré l'impact des exceptions ? Quels ont été les résultats ?