【发布时间】:2015-02-04 09:14:34
【问题描述】:
我们有一个使用/Zp1 编译的项目,这是由于遗留问题,目前无法更改。我们开始通过 NuGet(包系统)使用 Boost,但很快就收到了对齐警告和崩溃。这些库是使用默认 (/Zp8) 编译器选项构建的。
我已经阅读了 ABI,并在 StackOverflow 上发现了一个类似的问题,但仍有一些问题。
Should boost library be dependent on structure member alignments?
http://www.boost.org/development/separate_compilation.html
一些问题:
我注意到 Boost 使用 #pragma pack 消息进行字节对齐(兼容性?)。 Boost 应该使用不同的字节对齐方式吗?如果由于字节对齐而可以重现崩溃,我应该提交错误吗?
如何用
/Zp1编译Boost?在哪里添加编译器选项?它在 project-config.jam 文件中吗?有什么例子吗?
【问题讨论】:
标签: c++ visual-studio boost memory-alignment