我很难看到这个问题 - 这似乎是一个很明显的问题 - 但我还没有找到它:是一个用“-std = c ++ 11”(g ++)二进制编译的模块是否与模块兼容是不是用选项编译的? (也就是说,我可以安全地将它们链接在一起吗?)两个编译都将使用完全相同的g ++版本。
更准确地说,使用gcc 4.9.0,我是否只能在特定的编译单元上使用“-std = c ++ 11”,然后让其他编译器没有选项进行编译。
答案 0 :(得分:8)
Google并不需要获得学位才能找到gcc的C++11 ABI Compatibility页面。
简短的总结是:没有语言原因ABI被破坏但是有许多强制性更改导致标准C ++库随gcc一起发送。