C语言环境初始化

本文详细介绍了C语言环境初始化的过程,包括栈的运作机制、作用及初始化,以及BSS段的功能和初始化BSS段的方法。此外,还探讨了C语言与汇编的混合编程,包括汇编如何调用C函数、C如何调用汇编函数以及C语内嵌汇编的使用规范和注意事项。
摘要由CSDN通过智能技术生成

一、栈
1.简介:
一个程序对应一个进程,一个进程对应一个栈空间,然后一个程序对应多个函数,每个函数都会在该栈空间分配到一个完全属于自己的子空间,该子空间就是栈帧。栈帧有边界,上边界是FP(r11),下边界是SP(r13),每一个主调函数的边界都会存放在她的被调函数的栈帧中。
2.作用:
(1)保存局部变量
(2)当参数大于四个时候可以传递参数
(3)可以保存寄存器的值
3.初始化栈
这里写图片描述

二、BSS段
1.作用:
(1)初始化的全局变量存放在data段
(2)局部变量存放在栈
(3)malloc出的变量存放在堆
(4)未初始化的全局变量存放在BSS段
2.初始化BSS段:
这里写图片描述
三、C语言与汇编混合编程
1.简介:
(1)汇编的效率高,直接转换为机器语言,而C要经过转换为汇编
(2)汇编直接控制硬件的寄存器
(3)C编写方便简洁
2.汇编调用C语言:
ldr pc,=函数名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值