1
2
3
4
5
6
7
8
9
10
//~ test.cpp
#include <stdio.h>
int a;
int
main()
{
    printf("%p\n", &a);
    sleep(30);
    return 0;
}
1
2
3
4
5
6
7
$ gcc test.cpp -otest
$ ./test&
$ 0x804a024
$ ./test&
$ 0x804a024
$ ./test&
$ 0x804a024

  对可执行文件test,不同的执行实例产生的输出为什么是一样的呢?为什么呢?难道一直以来我对虚拟地址空间的理解都是错误的?另外,如果int a是局部变量,输出就不同。

Tags: .
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
Home

RFC: Request For Comments. Orz..

Name(required)
Mail (required),(will not be published)

RFC: Request For Comments. Orz..

Website(recommended)