c语言怎么注释掉一大段_从汇编的角度看C语言(一)

本文通过将C语言代码转换为汇编代码来探讨C语言的注释、函数调用以及编译优化。作者通过实例展示了如何使用gcc -S将C代码转为汇编,分析了简单的函数调用和HelloWorld程序在汇编层面上的实现,并讨论了编译优化对代码效率和安全性的影响。
摘要由CSDN通过智能技术生成

gcc -S 参数可以把C语言代码转换成汇编代码。对照汇编代码看C别有一番风味,很多编译器行为都有了本质的解释。
本人对汇编也是一知半解,工作中没有用到过,上学时候学的还是16位的汇编,基本上也忘光了。一边学习一边记录吧。


复习汇编,一个简单的例子


如下是一段非常简单的c程序

4ccc357a111cbdaad0f2559cfa09db77.png


把它编译成汇编
gcc -S aa.cpp
生成汇编结果aa.s, 我在文件中增加了一些注释。

68326e5326828456633cbed5777720cd.png


本程序只有一个代码段,没有数据段。参数和临时变量存储在栈中,栈属于代码段。本程序栈空间的组织如下:

5a228ce056a6453f17a108e3f4c7ad21.png

函数调用


再分析以下带简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值