arm 汇编调用C

arm64 汇编调用C函数

main.s

c 复制代码
.section .text
.globl main
main:
        stp     x29, x30, [sp, -16]!  //store fp x29 lr x30

        mov x0, #0
        mov x1, #1
        bl add
		mov x1, x0   // x0 return 
        ldp  x29, x30, [sp], 16  //restore fp lr
        ret

add.c

c 复制代码
#include <stdio.h>
int add(int a, int b)
{
    printf("a=%d,b=%d\n",a,b);
    return a+b;
}

编译

c 复制代码
gcc -g main.s add.c

调试

c 复制代码
gdb a.out
b main
相关推荐
学会去珍惜2 小时前
是什么意思c语言
c语言·编程语言·底层开发·面向过程·系统软件
handler014 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
代码中介商6 小时前
C语言数据存储深度解析:从原码反码补码到浮点数存储
c语言·开发语言·内存
hipolymers7 小时前
C语言怎么样?难学吗?
c语言·数据结构·学习·算法·编程
时空自由民.9 小时前
蓝牙协议栈知识和网络协议栈知识对比
网络·arm开发·网络协议
努力努力再努力wz9 小时前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python
minji...9 小时前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++
uElY ITER10 小时前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
程序猿编码10 小时前
给Linux程序穿“隐身衣”——ELF运行时加密器全解析(C/C++代码实现)
linux·c语言·c++·网络安全·elf·内存安全
Goway_Hui10 小时前
【ReactNative鸿蒙化-三方库使用与C-API集成】
c语言·react native·harmonyos