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
相关推荐
.道阻且长.6 小时前
C++ string 操作指南:接口解析
java·c语言·开发语言·c++
2601_951645786 小时前
如何优雅地使用c语言编写爬虫
c语言·爬虫·网络请求·字符串处理·cspider
6v6-博客6 小时前
C语言字符串中空格的表示方法
c语言·开发语言
SHARK_pssm7 小时前
【数据结构——树与堆】
c语言·数据结构·经验分享·笔记
郝学胜-神的一滴8 小时前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
Navigator_Z8 小时前
LeetCode //C - 1096. Brace Expansion II
c语言·算法·leetcode
luj_17688 小时前
FreeDOS vs MS-DOS PC-DOS 对比解析
服务器·c语言·开发语言·经验分享·算法
坚果派·白晓明9 小时前
鸿蒙 PC应用集成 hwloc:3 大 NAPI & 编译坑详解
c语言·华为·ai编程·harmonyos·atomcode
人邮异步社区10 小时前
C语言进阶的书籍推荐
c语言·开发语言
阿泽·黑核11 小时前
表驱动 + 回调分发:大规模按键模块的工程实践
c语言·嵌入式软件·vibe coding·trae solo