LOCAL_ARM_MODE 默认情况下,构建系统会以 thumb 模式生成 ARM 目标二进制文件,其中每条指令都是 16 位宽,并与 thumb/ 目录中的 STL 库链接。
将此变量定义为 arm 会强制构建系统以 32 位 arm 模式生成模块的对象文件。以下示例演示了如何执行此操作:
LOCAL_ARM_MODE := arm
您也可以对源文件名附加 .arm 后缀,指示构建系统仅以 arm 模式构建特定的源文件。例如,以下示例指示构建系统始终以 ARM 模式编译 bar.c,但根据 LOCAL_ARM_MODE 的值构建 foo.c。
LOCAL_SRC_FILES := foo.c bar.c.arm
您也可以在
Application.mk文件中将APP_OPTIM设置为debug,强制构建系统生成 ARM 二进制文件。指定debug会强制构建 ARM,因为工具链调试程序无法正确处理 Thumb 代码。
极客笔记