Android中调用Arm汇编代码

Android NDK中汇编文件和C文件是等价的,直接使用ndk-build就可混合编译.c和.s文件,例如如下一个汇编文件add.s,实现两个整数相加,并返回结果,源码如下:(注意为gnu语法)

.text

.align 4

.global my_add

.type my_add, %function

my_add:

add r0, r0, r1

bx lr


要在.c中使用以上代码,需要先声明方法 my_add

extern int my_add(int, int);

然后就可以直接使用了,非常方便


参考资料:http://www.eggwall.com/2011/09/android-arm-assembly-calling-assembly.html

Demo工程:https://github.com/Tristan-Sun/NdkWithAssembleDemo

你可能感兴趣的:(Android中调用Arm汇编代码)