如何使C++程序跨编译器工作

1 c++ visual-c++ borland-c++

我想知道如何让我的C++程序在编译器之间工作.我想让程序如此,如果它是用borland编译的,它将使用该clrscr()函数,否则它将使用system("CLS").我已经看到代码已经做了类似的事情,但我无法找到它的功能或工作方式的解释.任何帮助,将不胜感激.

Jos*_*osh 8

通常,要使C或C++程序跨多个编译器工作,您希望尽可能地将自己限制在标准C或C++中.有时你必须使用编译器/平台特定的功能,并且一种方法是通过预处理器来处理它.

SourceForge上的predef项目列出了一系列预处理程序符号,这些符号由各种编译器自动定义,适用于各种平台,等等.您可以使用该信息来实现您的需求,例如:

void clearScreen() {
  // __BORLANDC__ is defined by the Borland C++ compiler.
  #ifdef __BORLANDC__
    clrscr();
  #else
    system("cls");
  #endif
}
Run Code Online (Sandbox Code Playgroud)