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

相同的程序,每次运行时,栈都是从同一个地址开始的吗?

    来源: 互联网  发布时间:2016-01-06

    本文导语:  估计我没有说清楚.. 是这样的  有下面一个程序 //sp.c unsigned long find_sp(void){   __asm__("movl %esp, %eax"); } int main(int argc,char* argv[]){ char* buff; int   len; long sp; len=atoi(argv[1]); buff=malloc(len); sp=find_sp(); printf("sp is 0x%xn...

估计我没有说清楚..
是这样的  有下面一个程序
//sp.c

unsigned long find_sp(void){
  __asm__("movl %esp, %eax");
}
int main(int argc,char* argv[]){
char* buff;
int   len;
long sp;
len=atoi(argv[1]);
buff=malloc(len);
sp=find_sp();
printf("sp is 0x%xn",sp);
free(buff);
exit(0);

}

然后我每次运行 ,输入相同的参数 然而输出的结果每次都不同

比如 
./sp 300

请问是怎么回事呢

|
堆栈是程序加载的时候由操作系统初始化的,每次应该不同。

|
对OSd: stack应该每次都不一样的内存地址,不过对于每个进程空间来说,它的起初位置是一样的,从0x0开始

|
挺奇怪
感觉应该是相同的

|
哥们对不起了。我还没有对这方面下功夫

|
知道这个有意义吗?向你学习中。。。

|
mark……

    
 
 

您可能感兴趣的文章:

  • 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上运行?
  • 求一个ip地址池分配地址的小程序。谢谢了
  • 08048000 是加载动态库的开始地址,还是程序开始运行的地址
  • 整型数据做函数的参数,怎样实现传地址,和调用程序共用一个地址?
  • 请问:有没有办法欺骗一个程序得到假的本机ip地址而不影响其它程序。
  • linux在setup.s里将system代码从10000处移到地址0后,原来驻留在地址0的BIOS中断程序去哪了?
  • 如何查看子进程调用其它程序后的程序段与数据段地址
  • 关于程序运行时的堆栈地址问题?
  • 关于跟踪程序时的地址问题。。。。
  • 嵌入式linux的应用程序分配内存地址问题
  • 如何不写驱动通过应用程序获得一块内存并取得它的物理地址?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在程序的开始部份这样处理的含义是什么呀
  • 刚开始用linux写程序,问个简单的后台运行问题
  • linux下C++程序开发该从何开始?
  • 刚开始看java,第一个hello,java程序
  • 所有的java程序都要从main()开始吗?
  • 这个socket程序的服务进程开始服务后,为什么总是两个进程?
  • 编程新手问题:想学习他人写的程序,下了几个小程序源码包并解开(c/c++),请问第一步应该从哪个、哪几个文件开始分析、学习?
  • 我刚刚开始写java程序,碰了一个钉子(巨简单的问题,白送分了)
  • 谁能说说小程序从开始到失望的过程
  • 一个程序运行30秒,然后就KILL,然后一个小时后再开始运行
  • 进来看看,怎样监控一个程序开始运行的消息?
  • 朋友们刚开始工作的时候,有没有上级让你读程序啊?可不可让我们这些刚入门的人以分享一下你的经验呢?谢谢了!!
  • 大家用LINUX编写程序都用哪个软件,小弟刚开始熟悉LINUX,给个意见……
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 小弟刚刚开始学 Unix/Linux下的C/C++编程,只能用curses写过一些终端图形程序,想问一下,现在unix/linux下都开发一些什么样的应用程序啊?不包括嵌入式开发。
  • 从零开始学android小示例程序
  • 昨天开始学LINUX,编了一个关于进程的c程序,虽然结果对了,但过程却不明白。请教!
  • 请问linux下的程序员,大家都多少岁了。是不是从windows转过来的,81年1月的现在才开始学linux是不是太晚了点?
  • 从零开始学YII2框架(六)高级应用程序模板
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?


  • 站内导航:


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

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

    浙ICP备11055608号-3