【发布时间】:2012-04-02 11:55:01
【问题描述】:
我正在尝试使用 android NDK 为 android 平台编译和运行本机代码。 在代码中的许多地方,我试图将一个短整数指针转换为一个整数指针,因此尽管它与 X86 一起正常工作,但它存在内存对齐问题。我正在以拇指模式编译代码,由于如上所述的未对齐访问,代码正在运行。但是如果我在 ARM 模式下编译代码,它不会崩溃并正常工作。
我的疑问是为什么代码在 arm 模式编译中没有崩溃,尽管它存在内存对齐问题。
我对 ARM 和 THUMB 指令集知之甚少。我知道 ARM 指令集是 32 位宽,拇指是 16 位宽。但它对未对齐的访问有何影响?
【问题讨论】:
标签: android-ndk arm