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
相关推荐
Drone_xjw3 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
gugucoding10 小时前
25. 【C语言】二进制文件与随机读写
c语言·开发语言
十月的皮皮11 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
wuminyu15 小时前
Java NIO内存管理与零拷贝深度剖析
java·linux·c语言·jvm·c++
Darkwanderor17 小时前
Linux进程优先级操作
linux·运维·c语言·c++
智者知已应修善业17 小时前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
SuperByteMaster17 小时前
keil link misc controls
c语言
码农幻想梦18 小时前
解决“ C 盘临时文件显示占用 200GB,但点进去却看不到具体文件”的问题
c语言·开发语言
JAVA面经实录9171 天前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
ALex_zry1 天前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++