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

网站开发怎样建立后台数据百度推广seo自学

网站开发怎样建立后台数据,百度推广seo自学,wordpress 定制主题,上海搬家公司电话价格表栈内行为分析 一、源码分析 我们以以下简单的 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/26235.html

相关文章:

  • 传奇霸主seo公司怎么样
  • 单位装专用的网站网页归档百度客户服务电话是多少
  • 做网站需要的参考文献360网站关键词排名优化
  • 南昌企业建设网站开发网站seo谷歌
  • 自己怎么做网站空间海外引流推广平台
  • 济南行知网站建设百度推广登录官网入口
  • 网站的基本价格搜索引擎优化的定义
  • 苏州定制建站网站建设seo店铺描述例子
  • 外贸建英文网站的重要性seo优化工具哪个好
  • 宁波电商平台网站建设厦门seo网站排名优化
  • 网站如何做视频链接地址专注于seo顾问
  • 网站开发公司流程宁德市医院
  • 网站seo分析工具武汉刚刚突然宣布
  • 珠海视窗网苏州seo按天扣费
  • 深圳网站建设企业上海短视频推广
  • 网站301检测网站优化包括对什么优化
  • 做的比较好的网站灰色关键词快速排名
  • 睡不着偷偷看b站网络推广引流
  • 网站建设佛山拓客科技公司进一步优化
  • 长春生物和北京生物是一家吗杭州seo联盟
  • 惠州市建设局网站怎么做一个小程序
  • dreamweaver 个人网站惠州大亚湾经济技术开发区
  • 网站建设中应注意的问题游戏优化大师
  • 五金企业网站模板品牌广告和效果广告的区别
  • 爱站权重是怎么计算的网络优化的工作内容
  • 金融股票类app网站开发软文案例短篇
  • 备案要关闭网站吗seo型网站
  • 淘宝客网站建设视频百度2022第三季度财报
  • 淄博乐达网站建设吧seo站内优化站外优化
  • 文网文网站建设百度推广找谁做