检查编译器是否为 Turbo C++

Check if compiler is Turbo C++

我目前正在处理为 Turbo C++ 设计的遗留代码。为了解决 Turbo C++ 缺少 bool 数据类型的问题,该程序包含以下代码行。

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

大多数 C++ 编译器无法 运行 具有 error: expected identifier before 'bool' 的程序。虽然我很想切换到更新的编译器,但不幸的是我需要维护此解决方法以实现向后兼容性。

我如何指示该特定代码行只能在 Turbo C++ 中编译?

正如 and 在评论中所建议的那样:

#ifdef __TURBOC__
    // Only runs if compiler is Turbo C++
    enum bool {false, true};
#endif

来源:http://beefchunk.com/documentation/lang/c/pre-defined-c/precomp.html