未对准警告修复或没有

misalignment warnings fix them or no?

本文关键字:警告      更新时间:2023-10-16

在我的自定义.zip解压缩器中,我会收到这样的警告:

runtime error: load of misaligned address 0x7f280ffe875a for type 'const uint32_t', which requires 4 byte alignment

原因是reinterpret_castuint32_t*和同一的删除。我知道memcpy进入uint32_t会解决问题,但是我应该打扰吗?我看到了许多广泛使用的图书馆(例如Pixman,Cairo,...)。

始终修复它们。编译器的矢量器可以使用对齐信息,并假定您不调用未定义的行为。这可能导致崩溃。

请参阅:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65709,以讨论GCC Devs与LZ4的作者之间的讨论。