首页 新闻 会员 周边 捐助

逻辑地址和物理地址是什么?

0
[待解决问题]

逻辑地址与物理地址有什么区别,打印变量的地址是指的哪一个?,是变量在内存中的地址码,物理地址书写格式是什么。

李艳21的主页 李艳21 | 菜鸟二级 | 园豆:220
提问于:2014-08-25 17:11
< >
分享
所有回答(4)
0

跟你举个实例你就清楚了,比如说c语言的指针,其指向的就是物理地址,直接访问数据,这也正是c指针使用不当弊端所在的关键。但是c#或者java类对象class c=new class(),本事是c引用类型,逻辑内存块很小存放在栈中,通过new(相当于指针)以后,再去指向物理地址。

伏草惟存 | 园豆:1420 (小虾三级) | 2014-08-25 17:51
0

逻辑地址就是相对地址,比如在1G的内存里分配1M的空间  这1M空间中的第一个字节,就算是逻辑地址

在1G内存的100M的地方开始分配1M的空间,这时  101M的第一个字节,这个就是指的物理地址,

就是相对路径和绝对路径的意思了.一个是有参照物的,一个以自己为起点

吴瑞祥 | 园豆:29449 (高人七级) | 2014-08-25 22:17

那么我们用程序打印变量在内存的位置,是逻辑地址吗,能不能用图像描述一下,谢谢

支持(0) 反对(0) 李艳21 | 园豆:220 (菜鸟二级) | 2014-08-26 22:37

@李艳21: 取地址运算符取到的是内存绝对地址,应该是的,可能不同的编译器会有区别的,但这个你不应该去考虑。因为不管是物理地址还是逻辑地址,对你来说都是已经被隐藏区别了的

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-08-27 08:56

@吴瑞祥: 取地址运算符取到的是逻辑地址,不要误人子弟

支持(0) 反对(0) panyihua | 园豆:209 (菜鸟二级) | 2014-08-27 21:49

@panyihua: 确实是``没读过书.这方面还是很差劲的````

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-08-28 13:41
0

什么是逻辑地址?什么是物理地址?他们之间有什么联系?

http://zhidao.baidu.com/link?url=uJ8zVtUs8ah5FAAM7u4gevW3m--_02uHpb8DXFhL4QcA6g8FnQ6lej5a9HzinsrTTMwSov_HbsaXtDQtFuXd3_

LiuKaiFa | 园豆:1491 (小虾三级) | 2014-08-26 00:50
0

看过爸爸去哪儿吗?五位爸爸要选房,房子的地址是XX街道YY巷ZZ号,这个是物理地址,导演给房子分配了1-5的编号,这个是逻辑地址,爸爸们聊天时会说你在3号房,我在5号房,但实际回家的时候确实回到XX街道YY巷ZZ号。

打印变量地址是逻辑地址,就算是用汇编操作的也是逻辑地址,只有操作系统知道物理地址,逻辑地址跟物理地址都是一个32位整数

panyihua | 园豆:209 (菜鸟二级) | 2014-08-27 09:13

Linu中,fork()产生一个子进程,拷贝了一份进程,打印父子进程的同一个变量,逻辑地址一样,但物理地址不一样,这个变量不是被拷贝了一 份吗,在内存的其他地方。

支持(0) 反对(0) 李艳21 | 园豆:220 (菜鸟二级) | 2014-08-27 18:26

@李艳21: 是的,父子进行都有自己独立的进程空间,也就是逻辑地址一样。你可能把逻辑地址一样理解为父子进程共享同一个逻辑地址空间,不对,逻辑地址一样是这样的,父进程有一个变量A,逻辑地址为1,子进程对应的变量A,逻辑地址也是1,但是他们对应的物理地址是不同的

支持(0) 反对(0) panyihua | 园豆:209 (菜鸟二级) | 2014-08-27 21:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册