有什么区别

-std=c++11-std=gnu++11作为gcc和clang的编译参数有什么区别? 与c99gnu99同样的问题? 我了解C ++和C标准,这是我感兴趣的参数差异。

我已经在某处读到它与某些扩展有关的问题,但我不清楚哪些扩展名以及如何在新项目之间进行选择。


正如你自己发现的那样,两种选择之间的区别在于是否启用了违反C ++标准的GNU扩展。 这里描述GNU扩展。 请注意,使用-std=c++11时,某些扩展仍然可以生效,只要它们与标准不矛盾即可。

例如,当使用MinGW编译器时,我需要一个可用于Boost.Lexical_Cast的扩展。 但是,只要你没有使用它们,你最好坚持标准而不扩展以实现最大的便携性。 如果您发现自己被迫更改编译器,这可能会派上用场。

链接地址: http://www.djcxy.com/p/15043.html

上一篇: What are the differences between

下一篇: How to use/install gcc on Mac OS X 10.8 / Xcode 4.4