不同的编译器,不同的语法

时间:2017-02-11 16:32:18

标签: c++

如何补偿同一编程语言的不同编译器的语法之间的差异?我怎么知道哪一个是标准的并且在世界范围内用于制作项目? 例如:我在Borland C ++编译器上工作了4个月来学习C ++,但现在我看到了Borland,Visual C ++和Developer C ++的语法不同。我很困惑,需要一些指导...

1 个答案:

答案 0 :(得分:1)

第一种解决方案是不使用特定于一个编译器或另一个编译器的部件。在使用该语言的功能之前,请在互联网上查看它是否特定于任何一个编译器。如果是,则不要使用它。

除此之外,实际上制作一个可由不同编译器编译的C / C ++程序是一项需要付出努力的任务。它并非“恰好发生”,因为每个编译器都有自己的怪癖,它们自己对标准的支持程度等。即使编写兼容的C99 / C ++ 11代码,您仍可能会遇到问题。因此,一种解决方案是实际使用不同的编译器定期编译程序(例如,在将代码推送到中央存储库之前作为测试的一部分)并确保所有这些编译器都可以编译代码,并且生成的软件可以运行。

对于“标准”编译器,在Linux和Mac上gcc和clang可以被认为是“黄金”。在Windows上,Microsoft的编译器是标准的。