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
相关推荐
不会c+1 小时前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
治愈系贝壳2 小时前
ARM ---day1
linux·arm开发·学习
程序猿编码2 小时前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型
CHANG_THE_WORLD2 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
十月的皮皮3 小时前
C语言学习笔记20260716-编译与链接
c语言·笔记·学习
牧以南歌〆4 小时前
数据结构<一>顺序表
c语言·数据结构·算法
CHANG_THE_WORLD4 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到工作线程的完整解析
linux·服务器·c语言
敲上瘾4 小时前
Linux系统调用mmap文件映射与malloc简单模拟实现指南
linux·服务器·c语言·缓存
CHANG_THE_WORLD4 小时前
Linux C 多进程并发 TCP 服务器:从阻塞模型到 `fork()`、`SIGCHLD` 与 `EINTR`
linux·服务器·c语言
wdfk_prog13 小时前
嵌入式面试真题第 11 题:RTOS 优先级翻转与实时任务阻塞的通用治理
c语言·缓存·面试·职场和发展·架构