使用-std = c ++ 11是否会破坏二进制兼容性?

时间:2014-05-26 16:32:31

标签: c++ c++11 g++

我很难看到这个问题 - 这似乎是一个很明显的问题 - 但我还没有找到它:是一个用“-std = c ++ 11”(g ++)二进制编译的模块是否与模块兼容是不是用选项编译的? (也就是说,我可以安全地将它们链接在一起吗?)两个编译都将使用完全相同的g ++版本。

更准确地说,使用gcc 4.9.0,我是否只能在特定的编译单元上使用“-std = c ++ 11”,然后让其他编译器没有选项进行编译。

1 个答案:

答案 0 :(得分:8)

Google并不需要获得学位才能找到gcc的C++11 ABI Compatibility页面。

简短的总结是:没有语言原因ABI被破坏但是有许多强制性更改导致标准C ++库随gcc一起发送。