2008-12-02 7 views

Répondre

4

Oui, cela fonctionnera. C est un sous-ensemble de C++ (pour tous sauf un très petit nombre de cas exceptionnels). Tout compilateur C++ devrait fonctionner avec du code C valide.

Voir les réponses à this question pour certains des rares exemples de code C qui n'est pas valide en C++.

+4

Je ne l'appellerais pas un sous-ensemble. Ces quelques cas exceptionnels sont plus que vous ne le pensez. Dans tous les cas, il arrive que VC++ soit * aussi * un compilateur C. Enregistrez simplement le fichier avec l'extension .c, et il sera par défaut en code C. Vous pouvez également choisir la langue dans les paramètres du projet – jalf

+1

Dans un sens mathématique strict, non, C n'est pas un sous-ensemble correct de C++. Cependant, C bien écrit a tendance à être C++ valide. –

+0

"Certains" compilateurs C++ sont dépourvus de fonctionnalités C99 (mais qui en a besoin dans * 2009 *?) – jfs

6

Pour ajouter à Bill The Lizard's answer - tout compilateur C++ compilera un fichier en utilisant des règles de langage C si le fichier a une extension .c. Cela peut être remplacé pour forcer la compilation d'un fichier en C ou C++ en utilisant les options de la ligne de commande.

Cela se fait avec l'aide des MSVC /Tc ou /TC options pour compiler en C, et les /Tp ou /TP options pour la compilation en C++.

+0

"tout compilateur C++" peut être effectivement vrai, mais il n'est pas obligatoire d'être vrai par n'importe quel standard. – Darron

+0

@Darron - compris, mais ce n'est pas vraiment une question de normes, c'est une question d'outils. –

0

dépend en partie de ce que C vous parlez. Visual C++ compilera heureusement les programmes C (assurez-vous qu'ils ont une extension .c et assurez-vous que l'option "Compiler sous" dans la partie "Avancé" des pages de propriétés "C/C++" n'est pas définie sur C++ uniquement) , mais il manque beaucoup de choses dans la norme C99. Si vous êtes intéressé par le standard C d'origine, Visual C++ fonctionnera très bien.

0

Juste une petite précision - Visual C++ n'est pas un compilateur plutôt qu'un IDE. Le compilateur sera cl.exe et autant de tristes il n'y a pas de problème pour compiler du code C avec cl.
Mais il y a d'autres options comme Windows ports of gcc ou Watcom compiler

2

Vous pouvez télécharger une copie gratuite du compilateur Digital Mars C.

Questions connexes