我正在嘗試使用android NDK爲android平臺編譯和運行本機代碼。 在代碼中的很多地方,我試圖將一個短整型指針指向一個整型指針,因此它具有內存對齊問題,儘管它可以與X86一起正常工作。我正在用拇指模式編譯代碼,因爲正如我上面所說的那樣,代碼是由於未對齊的訪問而進行的。但是如果我在ARM模式下編譯代碼,它不會崩潰並正常工作。Android原生代碼在拇指模式下崩潰,但沒有在手臂模式下
我的疑惑是爲什麼代碼在arm模式編譯時沒有崩潰,雖然它有內存對齊問題。
我對ARM和THUMB指令集知之甚少。我知道ARM指令集是32位寬,拇指是16位寬。但是,關於未對齊訪問,它是如何產生影響的?
非常感謝您的回覆, – user1161240 2012-04-02 14:59:17