当前位置:  技术问答>linux和unix

关于程序运行时的堆栈地址问题?

    来源: 互联网  发布时间:2015-11-01

    本文导语:  对于任何一个可运行的程序来说,其中同一函数的堆栈栈侦地址(如EBP)为什么每一次运行都不一样呢? 而且一次比一次地址小 | #include  void func(); int main() { func(); return 0; } void func() { in...

对于任何一个可运行的程序来说,其中同一函数的堆栈栈侦地址(如EBP)为什么每一次运行都不一样呢?
而且一次比一次地址小

|
#include 
void func();
int main()
{
func();
return 0;
}
void func()
{
int i[100];//随意分配的
printf("0x%x  mainn", &main);
printf("0x%x  funcn", &func);
}
不知道上面的程序符合楼主所说的吗?
上面的程序,每次的运行结果是相同的。

|
每个程序运行的时候,都有一个虚拟地址空间。而每个程序的堆栈空间是从高地址向低地址伸展的。每调用一个程序,函数的局部变量压栈,就自然往低地址增长啦

|
不清楚,是随机的吧?

    
 
 

您可能感兴趣的文章:

  • C++程序的内存不同的数据段及堆栈布局
  • cpu是怎么找到中断程序的堆栈的?
  • SuSE9上,多线程程序正在运行,用pstack打印堆栈信息,结果导致进程挂起(ps x 命令显示为T状态),为什么
  • fedora core 2 对于缓冲区溢出攻击有保护措施么?程序能不能ret回数据段(堆栈段)执行?
  • 程序产生core文件,但是无法跟踪到函数堆栈信息,不知大虾有没有遇到过
  • Linux/Unix下程序的堆栈大小是怎么定的?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 在LIUNIX中,在运行程序中,运行什么命令可以出现类似DOS的界面...谢谢.
  • 怎样让linux启动后不运行桌面而是直接运行某个应用程序呢?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • linux编写一个脚本判断程序是否在运行,如果没运行就重启这个软件。
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • 运行程序后程序报错说操作不允许
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • 关闭putty(SSH程序)后如何让程序还在redhat上运行?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求一个ip地址池分配地址的小程序。谢谢了
  • 08048000 是加载动态库的开始地址,还是程序开始运行的地址
  • 整型数据做函数的参数,怎样实现传地址,和调用程序共用一个地址?
  • 请问:有没有办法欺骗一个程序得到假的本机ip地址而不影响其它程序。
  • linux在setup.s里将system代码从10000处移到地址0后,原来驻留在地址0的BIOS中断程序去哪了?
  • 如何查看子进程调用其它程序后的程序段与数据段地址
  • 关于跟踪程序时的地址问题。。。。
  • 嵌入式linux的应用程序分配内存地址问题
  • 如何不写驱动通过应用程序获得一块内存并取得它的物理地址?
  • 怎样获取applet程序的地址?
  • 如何启动电子邮件程序,并传递收件人邮箱地址?
  • HTML教程 iis7站长之家
  • 请教如何在程序中修改机器的IP地址?
  • 如何在unix环境中用程序,取到对方网卡硬件地址。
  • 进入程序后的第一个函数main的函数地址是存放在那个寄存器?
  • 程序设计中"IP地址"问题
  • 大家用什么东东写JAVA程序,能告诉我一个好的工具吗(提供下载地址)?
  • 怎样用程序获得网卡地址!那位仁兄能告知
  • 驱动程序中能否直接对物理地址进行操作?
  • 请问在我的glade程序里在那加上我自己的头文件搜索地址啊?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3