在我的自定义.zip
解压缩程序中,我收到类似警告:
runtime error: load of misaligned address 0x7f280ffe875a for type 'const uint32_t', which requires 4 byte alignment
原因是reinterpret_cast
到uint32_t*
并且取消引用它。我知道memcpy
uint32_t
可以解决问题,但我应该打扰吗?我看到许多广泛使用的库(如pixman,cairo ......)都有同样的警告。
答案 0 :(得分:5)
始终修复它们。编译器的矢量化程序可能使用对齐信息,并假定您不调用未定义的行为。这可能会导致崩溃。
有关gcc devs和LZ4作者之间关于此问题的讨论,请参阅:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65709。