我想生成交叉编译器兼容的 C++ 代码。 我编写了一些有点“异国情调”的代码,将 C++ 语言推向灰色、怪异、神秘的领域。
考虑到我的代码只依赖于 boost 和 STL,问题是检查代码兼容性,而不是库兼容性:
我的代码同时编译 msvc 和 Mingw 是否能确保我的代码 100% 与每个平台上的 GCC 兼容?
最佳答案
完全没有。
使用 MSVC 和 MinGW 编译您的代码可确保您的代码与 Microsoft 的 C/C++ 库兼容。我知道你只是在谈论代码兼容性,但这样的事情不存在。如果您将 C++ 插入灰色区域,则很可能相同的代码会根据编译平台的不同而产生不同的结果。
保证完全兼容的最好也是唯一的方法是在两个平台上编译和测试它。
尽管将 GCC 与 -std=c++0X -Wall -Wextra -pedantic
(或任何其他 std 版本)一起使用并消除所有警告将对代码质量有一个很好的了解.
关于c++ - 在 Mingw 上编译的 C/C++ 代码会保证与 GCC 完全兼容(在 linux 和 Mac 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081904/