2009-12-06 10 views
0

le site Antlr n'est pas clair sur le sujet de la compilation d'une grammaire pour C++, il dit que l'outil va générer du code C compatible avec C++, quelle dose cela signifie? serai-je capable de compiler ce code avec VS 2008?antlr: cible C++ avec Visual Studio 2008

Répondre

1

VS 2008 a compilateur C et C++ (et le compilateur C++ peut compiler le code C, c'est ce qu'ils voulaient dire), je ne pense pas que vous aurez des problèmes. Ils disent: "C cible à partir de la version 3.1 est compatible avec C++, compile les fichiers .c en C++, les classes C + seront fournies en tant que bibliothèque séparée plus tard en 2008."

Ce qui signifie qu'il est compatible C++.

+0

mais Antlr générer bon code C++? – Eli

+1

Il va générer du code C qui est compilable avec un compilateur C++ –

1

C is mostly a subset of C++. Mais le code C généré ne doit pas sortir du chemin C++ battu, il devrait donc être valide en C++.

Visual Studio dispose d'un compilateur C/C++, car vous compilez l'analyseur généré, vous n'avez pas à vous soucier de la distinction C/C++. Compilez simplement le code en C++.

1

L'expression "code C compatible avec C++" signifie que la génération de code cible le sous-ensemble commun de C et C++. Par conséquent, il n'utilise pas le jeton class qui a différentes significations en C et C++, etctera. Mais il peut utiliser int et foo, où C et C++ sont d'accord. Par conséquent, le code généré peut être compilé par les deux compilateurs C et C++. Visual Studio contient à la fois (via les indicateurs /TC et /TP) afin que vous puissiez utiliser l'un ou l'autre mode.