如题,通过 C 语言代码调用汇编实现的函数
1. 创建两个文件:compare.S 和 main.c
compare.S
.section .text
.globl compare_data
compare_data:
cmp x0, x1
csel x0, x0, x1, hi // 若 x0>1 则返回 x0, 否则返回 x1
ret
main.c 文件
#include <stdio.h>
extern int compare_data(int a, int b); //extern 导入 compare_data 函数声明
int main()
{
int val;
val = compare_data(5, 6); // 调用汇编函数
printf("big data: %d\n", val);
}
2. 编译
aarch64-linux-gnu-gcc -o main main.c compare.S --static -g
3. 运行
# ./main
big data: 6
正文完