2016-11-12 2 views
3

Je suis actuellement en train de traiter avec le code ancien conçu pour Turbo C++. Pour contourner l'absence de type de données bool de Turbo C++, le programme contient la ligne de code suivante.Vérifiez si le compilateur est Turbo C++

// Necessary when compiling with Turbo C++ 
enum bool {false, true}; 

La plupart C++ compilateurs ne parviennent pas à exécuter le programme avec error: expected identifier before 'bool'. Bien que j'aimerais passer à un compilateur plus récent, je suis malheureusement obligé de maintenir cette solution de contournement pour une rétrocompatibilité.

Comment est-ce que je peux indiquer que cette ligne spécifique de code devrait compiler seulement dans Turbo C++?

+4

Rechercher une macro prédéfinie * *, comme '__TURBOC__'. Je me suis débarrassé de Turbo C++ quand Borland C++ est sorti, puis l'ai abandonné vers 2008. Vous devriez utiliser quelque chose de plus récent et gratuit. –

+3

Vous voulez probablement '__TURBOC__' comme suggéré ici: http://beefchunk.com/documentation/lang/c/pre-defined-c/precomp.html – selbie

+0

Juste curieux, qui utilise encore Turbo C/C++? Appareils embarqués? Les périphériques hérités qui exécutent toujours DOS? – selbie

Répondre