Skip to content

一块空闲的内存

c
char heap_buf[1024];
int pos = 0;
void *my_malloc(int size)
{
    int old_pos;
    pos += size;
    return &heap_bunf[old_pos];
}

这一段内存被称为内存

c
void my_free(void buf)
{
    
}

c
void c_func(void);
void b_func(void);
int a_func(int val)
{
    int a = 0;
    a += val;
    b_func();
    c_func();
    return a;
}

返回地址现保存在LR寄存器, 保存在栈中, 在函数a_func调用函数b_func的时候会把LR寄存器中的值保存下来, 还会保存局部变量

C函数开头

  1. 划分出栈用来保存变量, SP寄存器
  2. LR寄存器入栈
  3. 执行代码