当前位置: 首页 > wzjs >正文

网站建设要费用多少网站优化推广公司排名

网站建设要费用多少,网站优化推广公司排名,wordpress过FTP更新,黑群晖建设个人网站栈内行为分析 一、源码分析 我们以以下简单的 C 程序为例&#xff0c;通过 GDB 动态调试分析函数调用过程中的栈内布局变化&#xff1a; #include <stdio.h> int add(){int a 10;int b 20;return (a b); }int main() {add();return 0; }编译为 32 位程序&#xff1a…

栈内行为分析

一、源码分析
我们以以下简单的 C 程序为例,通过 GDB 动态调试分析函数调用过程中的栈内布局变化:

#include <stdio.h>
int add(){int a = 10;int b = 20;return (a + b);
}int main() {add();return 0;
}

编译为 32 位程序:

gcc -m32 test.c -o test
gdb ./test

动态调试

依次在对应位置打上断点

(gdb) b *main
Breakpoint 1 at 0x11d9
(gdb) b *add
Breakpoint 2 at 0x11ad
(gdb) b *add+42
Breakpoint 3 at 0x11d7
(gdb) r
Starting program: /root/test 
Breakpoint 1, 0x565561d9 in main ()
(gdb) layout regs

补充: esp 永远指向栈顶,ebp永远指向栈底 先记住这句话
然后我们继续运行c进入add函数在下面这个图我们还没进入add函数,eip指向的地址就是add函数的入口地址
程序进入 main() 函数后,还未调用 add() 函数之前,EIP 指向的是 add() 函数的入口地址。此时:

  • ESP 指向当前栈顶
  • EBP 尚未参与本次函数调用帧的构造
    重点部分解释
push %ebp	;这就是我们经常说的压栈	将调用者(main)的 ebp 存入当前栈顶,用于函数返回后恢复上下文
mov %esp, %ebp	;设置新的栈基址,构造当前函数的栈帧
sub $0x10, %esp	;压栈	留出栈空间(0x10 字节)用于局部变量(如 a、b)

在这里插入图片描述

当我们进入add函数到这一步我们会发现 此时的esp=ebp 可以观察到:
程序刚刚进入函数,ESP == EBP,栈帧尚未展开。
类似于“空水桶”,当前的栈顶和栈底都指向相同位置。
这一步体现了函数调用刚发生、栈帧尚未初始化的状态。

在这里插入图片描述
但是接下来,我们继续si几步我们会发现esp在不停变化代码比较简单 但是能看出esp是不断变化的
ESP 向低地址移动(因为栈向下生长)
为局部变量 a b 分配空间
函数内部指令执行期间不断使用和调整 ESP
这一过程中,ESP 表示当前操作的顶部位置,而 EBP 固定在该栈帧的底部,作为局部变量的偏移基准。
在这里插入图片描述
直到走到我们第三个断点 add+42 我们继续si espebp又继续相等了,同时我们回到了main函数当中
ESPEBP 再次恢复为相同值,意味着当前栈帧已被销毁
程序执行流程回到 main() 函数,继续往下执行
汇编解释

leave	; 出栈	实际上等价于:mov %ebp, %esp(还原 esp)→ pop %ebp(恢复上层 ebp)
ret	; 跳转	弹出栈顶的返回地址(调用者 call 指令之后的地址),跳转回主函数
-------------------分割线---------------
leave 是一个复合指令,相当于做了这两件事:
mov %ebp, %esp   ; 清理当前栈帧(还原栈顶)
pop %ebp         ; 恢复调用者的 ebp
-------------------分割线---------------
ret 的作用
ret 会做这件事:
pop %eip  ; 从栈顶取出返回地址并跳转执行

在这里插入图片描述

http://www.dtcms.com/wzjs/409911.html

相关文章:

  • 网页入口网站推广想要网站导航推广页
  • 内江做网站多少钱百度投诉中心
  • 茶酒行业网站建设公司seo营销
  • 手机网站建设服务商百度网首页官网登录
  • 网站金融模版app推广实名认证接单平台
  • wordpress 整合js西安市seo排名按天优化
  • 昆明婚恋网站价格游戏推广文案
  • 做二手车的网站海外网络推广平台
  • 用pc机做网站并让外网搜到百度关键词挖掘工具
  • wordpress 炫酷主题搜索关键词优化
  • 电子商务网站建设规划书北京seo排名方法
  • 阿里巴巴做网站联系人技成培训网
  • 创意网站制作推广网站的公司
  • wordpress图片怎么居中情感网站seo
  • 怎样用ps做网站的效果图常州网站推广公司
  • 网站建设外文文献面点培训学校哪里有
  • 企业网络规划毕业设计百度推广优化怎么做的
  • 山东省威海市文登区建设局网站一份完整的活动策划方案
  • 网站开发多少钱一单佛山网站开发公司
  • 广告制作包括哪些项目惠州seo网站推广
  • 开发一个功能网站多少钱百度怎么创建自己的网站
  • 要找做冲压件的厂去哪个网站找优化大师免费下载
  • wap网站的好处谷歌外贸网站推广
  • 建设部网站四库一平台培训机构需要什么资质
  • 做网站电话12345浏览器
  • 如何建微信微商城网站软件网站关键词优化
  • 自己做电视视频网站吗百度云网盘搜索引擎入口
  • 网站文章展示是做怎么百度网盘下载速度
  • 网站怎么做运营推广网络营销专业代码
  • 在哪里做马可波罗网站关键词优化的策略有哪些