美文网首页
Android Studio使用内建NDK支持汇编文件

Android Studio使用内建NDK支持汇编文件

作者: zenny_chen | 来源:发表于2020-07-05 14:25 被阅读0次

Google官方在NDK用户指南中只提到了如何针对x86架构的处理器使用NASM的方法。而NDK本身是支持GAS的,并且CMake工具很早就支持了GAS汇编特性。我们只需要在CMake中使用enable_language(ASM)声明即可支持对GAS汇编文件的构建支持。

通常来说,我们在Android Studio中可能会同时支持ARM、ARM64以及x86-64等多种架构,当然,GAS本身就能支持这些架构。但如果说,我们想对x86-64架构使用NASM,而对其他架构使用GAS的话,就需要对架构做判断了,可参照一下CMake代码:

if(${ANDROID_ABI} STREQUAL "x86_64")
    enable_language(ASM_NASM)

    set(asm_SRCS src/main/cpp/test.asm)
elseif(${ANDROID_ABI} STREQUAL "arm64-v8a")
    enable_language(ASM)

    set(asm_SRCS src/main/cpp/arm_test.s)
endif()

目前来看,GAS能同时支持.s文件和.asm文件;而NASM只能支持.asm文件。因此如果我们不用条件判断对它们进行剥离,那默认情况下,.asm文件也会用GAS进行构建,所以这里我们需要当心。

相关文章

网友评论

      本文标题:Android Studio使用内建NDK支持汇编文件

      本文链接:https://www.haomeiwen.com/subject/iedvqktx.html