GCC 和 clang 上的 MSVC /Zp 替代方案是啥?
Posted
技术标签:
【中文标题】GCC 和 clang 上的 MSVC /Zp 替代方案是啥?【英文标题】:What is MSVC /Zp alternative on GCC and clang?GCC 和 clang 上的 MSVC /Zp 替代方案是什么? 【发布时间】:2015-06-23 15:40:19 【问题描述】:如果,我想在模块级别使用编译器标志定义结构对齐,例如 Windows 上的 cl 的 /Zp。 GCC和clang上有哪些替代方案?
【问题讨论】:
【参考方案1】:gcc -v --help
给出:
-fpack-struct Pack structure members together without holes
-fpack-struct=<number> Set initial maximum structure member alignment
clang 具有相同的开关(至少 clang 3.x)。
【讨论】:
在 msdn for Zp 上,提到“在 8 字节边界上打包结构(默认)。”这是否意味着如果存在大小> 8 字节的数据类型,默认情况下它不会自然对齐,而是将具有 8 字节对齐。如果是,那么 GCC/clang 是否属于这种情况? @AbhishekJain 抱歉我不知道以上是关于GCC 和 clang 上的 MSVC /Zp 替代方案是啥?的主要内容,如果未能解决你的问题,请参考以下文章
功能无法匹配GLDEBUGPROC,仅在MSVC上(使用相同的glew版本2.1.0,在linux上使用gcc / clang就可以了)
gcc 和 clang 抛出“没有匹配的函数调用”但 msvc (cl) 编译并按预期工作
当重载具有多重继承的函数时,GCC称调用它是不明确的,但Clang和MSVC不这样做