前48位内存的问题

来源:4-2 内存管理

qq_way_0

2016-09-25 15:31

看了问答,貌似是老师弄错了。

前48位应该是0x0到0xffffffffffff   //12个fhttp://img.mukewang.com/57e77b7b00018def12800720.jpg

这样的话是不是说这张图片也是有问题的?

我用gdb 打印了一下有关栈的地址发现都是0x7开头的,地址长12位。

http://img.mukewang.com/57e77ce70001997608450062.jpg

上述图片p是函数指针。

问题是为什么地址是0x7开头的,0x8000000000到0xffffffffffff的东西是啥,是在栈上吗

写回答 关注

1回答

  • 慕粉3838361
    2016-09-27 19:23:10

    48位指的是【47:0】,有第0位;

    800000000 上面有讲,存放的是系统内核,操作系统用的。

    我感觉是这样,欢迎指正。

    qq_way...

    请问一下 这个是什么意思【47:0】. 系统内核如果是48位之后的话,应该是0x1000000000000//12个0 0xffffffffffffffff//16个f 0x0~0xf这样应该算是4位吧 2^4 我是这么理解的。 如果按照老师的理解前48位中,栈在最高位那么地址应该是 0xfk开头而不应该是0x7开头吧

    2016-09-28 20:53:35

    共 1 条回复 >

Linux C语言指针与内存

指针-C语言的核心,代领大家对c语言有更加深刻的理解

116475 学习 · 250 问题

查看课程

相似问题