2009-07-22 78 views
4

我学习C++,当我在测试微软的Visual C++ 2008速成的Eclipse Ganymede,但与克++编译器为默认,我已经注意到在VC++同一个码得到一些错误,并在克++编译正常,没有错误或警告并正常执行,但我想知道的是什么VC++语法和克++语法之间的区别?谢谢!差异悫的Visual C++ 2008和G ++

+0

有大量的差异,最好的选择(与大多数问题一样)是在这里发布代码并生成错误。 – Justicle 2009-07-22 23:46:59

+0

感谢您的投票! – 2009-07-23 00:05:24

+0

@Justile,我想知道一般的区别。谢谢! – 2009-07-23 13:01:43

回答

0

请它添加到帕维尔的答案:

如果您正在开发跨平台产品,请使用g ++(MingW)并坚持使用C++标准。使用由MingW提供的POSIX兼容API,其中标准设施不起作用。使用MingW构建的可执行文件不需要在目标系统上安装特殊的运行时,但VC++ 2008需要这样做。因此,MingW应用程序的部署更简单。

VC++的一个优点是其优秀的IDE。 Microsoft编译器似乎也执行一些Windows特定的优化。

不过,MingW补充了CodeBlocks IDE,可以为您提供一个优秀的,免费的,跨平台的C++开发环境。

4

这是一个非常广泛的话题。这两种编译器广泛符合ISO C++规范,但有些例外情况,但这些例外情况可能有所不同(例如,VC++以非标准方式处理函数中的throw说明符,而g ++在这方面符合标准)。另外,两个编译器都提供了相当多的扩展,这些扩展大多是互不兼容的(例如VC++ __property__interface,或g ++ typeof和计算的goto)。一般来说,最好的建议是咨询任一产品的文档。如果你有任何特定代码,你有问题,并想知道为什么它编译与其中一个,但不是另一个编译,那么它可以更详细地回答。

+0

谢谢,你的回答非常好! – 2009-07-23 01:39:41