告诉C ++代码是否可移植

时间:2014-02-03 07:28:36

标签: c++ visual-studio cross-platform portability

我正在尝试编写可以使用任何现代版本的g ++编译的代码并且遇到困难。我使用Visual Studios编写了代码并且工作正常但我尝试在另一台计算机上编译它并且它有问题。

一个问题是它无法识别宏EXIT_SUCCESS。我看到herecstdlib中定义了{但是如何进入VS我不需要导入该库?

同样在.h文件中我有const private int PI = 3.1416而在另一台计算机上它不喜欢它。

那么你怎么知道什么是便携式?我认为C(因此本质上是C ++)是发明在任何地方编译的。我问this问题,但认为它被误解了,是否必须对IDE进行某些设置才能确保可移植性?

编辑:我可能会更好地了解为什么代码在没有include <cstdlib>的情况下在Visual Studio中编译,以及如何关闭此功能?

1 个答案:

答案 0 :(得分:2)

实际上,判断代码是否可移植的唯一方法是在所有目标编译器/平台下编译它。您可以尝试遵循C ++标准,但现实是严酷的,没有100%兼容的编译器。即使是简单的程序也可以为其他编译器带来惊喜。