【发布时间】:2014-06-25 19:06:52
【问题描述】:
有没有办法让 Clang、GCC 或 Visual Studio 在内存访问未对齐时发出运行时警告,最好还发出源代码位置?
我需要在我庞大的遗留资源(不是我自己编写的)中找到所有包含未对齐访问的位置,然后将它们显式包装在过滤器中,从而使它们对齐。
我需要这个来将源移植到会因访问未对齐而中断的平台。
【问题讨论】:
-
代码是否有很多#pragma pack 指令?它们是主要原因。
-
您不能确定您的目标编译器布局结构或数据元素的方式是否与您的 pc 编译器相同。那么这个警告的价值是什么?
-
“编译器会发出运行时警告”吗?!这应该如何工作?
-
@thesaint 你没抓住重点。一般编译器编译不运行代码。
-
@luk32:没关系可能是最好的。我们不是在这里上什么老生常谈的高中班。当然编译器不会运行代码。但它可以添加在运行时运行 OMG 的仪器......认真
标签: c++ visual-c++ gcc g++ clang