我一直在努力寻找这个问题 - 这似乎是一个显而易见的问题 - 但我还没有找到它:Is a module compiled with "-std=c++11"(g++) binary compatible with modules that没有编译选项? (也就是说,我可以安全地将它们链接在一起吗?)两种编译都将使用完全相同的 g++ 版本。
更准确地说,使用gcc 4.9.0,我是否可以只在特定的编译单元上使用“-std=c++11”,然后让其他编译器在没有选项的情况下进行编译。
最佳答案
权威引用可以在gcc的C++11 ABI Compatibility中找到页面。
简短的总结是:ABI 损坏不是语言原因,而是有许多强制更改导致随 gcc 一起提供的标准 C++ 库发生更改。
关于c++ - 使用 -std=c++11 会破坏二进制兼容性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874393/