1 votes

VS 2008 et C99

J'ai lu avec intérêt le post "How universally is C99 supported ?". L'un des commentaires indique que Microsoft ne supporte pas le C99. Mais le symbole de commentaire // fonctionne avec VS 2008 et ce symbole est en C99. J'ai deux questions à poser :

  1. Dans quelle mesure VS 2008 supporte-t-il C99 ?

  2. Est-il possible, dans le même code, de mélanger les syntaxes C89 et C99 ? Ainsi, si j'écris mon code en C89 et que je place un commentaire //. Cela signifie que j'ai mélangé le codage. Que fait le compilateur dans un tel cas ? Vérifie-t-il mon code d'abord avec le C89 et ensuite avec le C99 pour accepter que j'utilise // pour le commentaire ?

Merci beaucoup...

1voto

Michael Burr Points 181287

MSVC ne prend en charge que très peu de C99 en mode C. Les quelques éléments qu'il prend en charge (comme les commentaires '//') sont en fait des extensions qu'il a ajoutées au mode C90 et qui proviennent de C++, qui peut également se trouver en C99. Lors de la compilation du code C, MSVC traite les commentaires '//' comme une extension du mode C90, et non comme un mélange de code C90 et de code C99.

Vous obtiendrez une "meilleure" prise en charge du C99 en compilant vos fichiers C en tant que C++ - de cette façon, vous obtiendrez des déclarations qui peuvent être intercalées avec des déclarations et des déclarations de variables en for qui s'appliquent à l'élément for par exemple.

Microsoft semble n'avoir aucun intérêt à ajouter la prise en charge du C99 à MSVC - même s'ils ajoutent des éléments du C99 au mode compilateur C++ (comme le stdint.h qui sera ajouté dans VS2010) puisque certaines choses de C99 ont été ajoutées à C++ dans C++0x.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X