Bonjour,
Un compilateur C++ respectant le standard ISO/IEC 14882:1998 doit il implémenter nécésairement la SL ou bien peut-il exister (même théoriquemnt) des compilateurs C++ sans SL ?
Merci,
JPI
Bonjour,
Un compilateur C++ respectant le standard ISO/IEC 14882:1998 doit il implémenter nécésairement la SL ou bien peut-il exister (même théoriquemnt) des compilateurs C++ sans SL ?
Merci,
JPI
Salut,
Selon moi, il y a peu de chances de trouver un compilateur respectant la norme n'implémentant pas la SL...
*Sauf erreur* la SL, la STL et même une partie de boost (via tr1 et tr2) ainsi que les noms de fichiers (sans .h) font partie de la norme.
Il faut quand même savoir que le S signifie Standard, et que je serais quand même fortement surpris que cela se prétende ainsi sans que la norme ne soit intervenu pour que ce soit réellement le cas![]()
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Oui. La norme prevoit des implementations "freestanding" qui n'ont qu'une toute petite partie de la SL a implementer (new, limits, typeinfo et ce genre de chose).
La cible des implementations freestandings, c'est l'embarque ou il peut etre difficile et peut pertinent de faire certaines choses.
Il faut savoir de quoi on parle. Oui, la SL fait partie de la norme, mais comme ecrit ci-dessus une implementation peut n'en fournir qu'une petite partie.*Sauf erreur* la SL, la STL et même une partie de boost (via tr1 et tr2) ainsi que les noms de fichiers (sans .h) font partie de la norme.
La STL ne fait pas partie de la norme. Une partie de la STL a ete proposee pour inclusion, et dans le processus a ete modifiee. Par la suite, la STL a ete modifiee pour avoir les modifications introduites par la norme.
Pour boost, c'est du meme genre, mais encore plus complexe. Une partie de boost a ete propose pour inclusion dans un Technical Report et a ete modifie dans le process. Ensuite une partie du TR est pour le moment inclus dans la nouvelle norme (qui n'a pas encore ete approuvee) apres de nouvelles modifications (j'ai pas suivi si ces modifications touchent ce qui provient de boost ou non, une partie des modifications c'est la supression pure et simple de fonctionalites du TR).
Note: TR2 est prevu pour apres C++0X.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Le TR1 n'est pas normatif (il n'a pas à être implémenté par les vendeurs de compilateur). A ma connaissance, il n'existe qu'une seule implémentation complète du TR1 (Dinkumware).
La C++ Standard Library fait partie intégrante du standard C++. Pour ce qui ets des implémentation freestanding, cf clause 17.4.1.3 du standard (le draft (PDF) n'a pas été modifié et contient le même texte).
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Partager