有没有一种方法可以使Clang,GCC或Visual Studio在内存访问未对齐时发出运行时警告,并且最好还为其发出源代码位置?
我需要在巨大的旧资源(我自己没有写过)中找到所有 Blob ,这些 Blob 包含未对齐的访问,然后将它们明确地包装在过滤器中,以使其对齐。
我需要使用它来将源移植到平台,这些平台将在访问不对齐时中断。
最佳答案
GCC具有the -Wcast-align option。但是,它将引发编译时警告,而不是运行时警告,因为编译器无法引发运行时警告或错误。
如果您需要更多信息,建议您阅读this SO question,它讨论内存未对齐的问题。
编辑:添加了有关GCC提高编译时间而不是运行时警告的部分。
关于c++ - 对未对齐的内存访问发出警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23540942/