Method 1 __packed is always as good or better than memcpy(). But it's not portable, as it depends on compiler extension. For gcc, __pakced directive works fine. Furthermore, gcc has serious performance issues with memcpy() on ARM 32 bits. See #620