首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
C/C++
C语言
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
c,c++里怎么申请逻辑上是顺序的物理上是不连续的内存?怎么申请逻辑上物理上多连续的内存块?
[已结贴,结贴人:zhouxinfengone]
加为好友
发送私信
在线聊天
zhouxinfengone
周新峰
等级:
发表于:
2008-04-22 08:31:40
楼主
c,c++里怎么申请逻辑上是顺序的物理上是不连续的内存?怎么申请逻辑上物理上多连续的内存块?
问题点数:
20
回复次数:
21
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liyuzhu_1984
我不是菜鸟~
等级:
发表于:
2008-04-22 08:37:39
1
楼 得分:
0
这个问题我很早以前就想知道,一直没得到答案 up
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
babyvox1999
问君能有几多愁?恰似四十八元满仓中石油!
等级:
发表于:
2008-04-22 08:45:22
2
楼 得分:
0
逻辑上连续物理不连续?可能吗?
逻辑和物理存储不是差个偏移?不太懂。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
akirya
坏[其实偶不是什么所谓的坏人]
等级:
发表于:
2008-04-22 08:45:36
3
楼 得分:
0
这个你自己做操作系统的话能做到
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
babyvox1999
问君能有几多愁?恰似四十八元满仓中石油!
等级:
发表于:
2008-04-22 08:49:57
4
楼 得分:
0
如果逻辑卷将用于根目录、引导、主交换或者转储,则物理盘区必须是连续的。这意味着,必须在一个物理卷上不留间隙地分配物理盘区。在非根磁盘上,与逻辑卷内连续逻辑盘区相对应的物理盘区可以在物理卷上不连续,或驻留在完全不同的磁盘上。。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fetag
孤独过儿
等级:
发表于:
2008-04-22 08:51:12
5
楼 得分:
0
这是不可能的!保护模式下的操作系统不会允许你这么干的
你看看操作系统原理里面,关于内存管理的部分,就了解了...
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhouxinfengone
周新峰
等级:
发表于:
2008-04-22 09:52:49
6
楼 得分:
0
面试问到的 我也没办法....
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sheenl
sheen
等级:
发表于:
2008-04-22 10:00:01
7
楼 得分:
0
把那个面试者杀了. 这和c/c++有什么关系, 都是操作系统提供的.
在windows里, 用delphi和visual basic也可以用同样方法分配物理内存的. 有ZwOpenSection/ZwMapViewOfSection/ZwUnmapViewOfSection
几个函数.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
powerlee2008
我是风
等级:
发表于:
2008-04-22 10:07:02
8
楼 得分:
0
好像是malloc和alloc的区别吧。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mLee79
等级:
发表于:
2008-04-22 10:18:32
9
楼 得分:
0
写操作系统的,还是写驱动的??
这样子分配物理上连续的内存, WIN下用 ExAllocatePool( NonPagedPool , size ), Linux下用 kalloc 分配未分页内存, 物理地址与逻辑地址相差固定的偏移..
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jieao111
conspirator
等级:
发表于:
2008-04-22 10:38:21
10
楼 得分:
0
引用 7 楼 sheenl 的回复:
把那个面试者杀了. 这和c/c++有什么关系, 都是操作系统提供的.
在windows里, 用delphi和visual basic也可以用同样方法分配物理内存的. 有ZwOpenSection/ZwMapViewOfSection/ZwUnmapViewOfSection
几个函数.
sheenl是这方面的高手
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lanmuyi
lanmuyi
等级:
发表于:
2008-04-22 11:35:29
11
楼 得分:
0
如果是面试的问题,我觉得他是在看你对数组和链表的理解
开个数组就可以得到逻辑上连续,物理上也连续的存储单元
建个链表我觉得可以算是逻辑上连续,物理上有连续的可能性,但是这种可能性非常小
至于物理连续逻辑不连续,我觉得实现这个很有难度,也很没意义。。。但是应该也能实现
先用malloc为数组申请空间,这样保证了物理的连续,接下来要做的就是打破逻辑上的连续性的...
多弄几个变量把数组空间一个一个的给过去,这样算逻辑不连续了吧?
相信实际应用中不会有人这么做。。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Polarislee
北极星
等级:
发表于:
2008-04-22 11:39:22
12
楼 得分:
0
Windows Server 2008处于安全性的考虑提供了系统内存随机化分配的机制。
在Windows Server 2008中连续分配的内存块,在内存空间的地址会是不连续的,随机分配在程序的全局堆之中
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljq279318147
等级:
发表于:
2008-04-22 11:48:51
13
楼 得分:
0
以前也想过,觉得不可能,不过现在学习了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
simon031187
等级:
发表于:
2008-04-22 11:48:56
14
楼 得分:
0
物理内存的连续地址空间,只有靠操作系统的支持
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
longlongago2000
等级:
发表于:
2008-04-23 00:31:53
15
楼 得分:
20
引用 11 楼 lanmuyi 的回复:
如果是面试的问题,我觉得他是在看你对数组和链表的理解
开个数组就可以得到逻辑上连续,物理上也连续的存储单元
建个链表我觉得可以算是逻辑上连续,物理上有连续的可能性,但是这种可能性非常小
至于物理连续逻辑不连续,我觉得实现这个很有难度,也很没意义。。。但是应该也能实现
先用malloc为数组申请空间,这样保证了物理的连续,接下来要做的就是打破逻辑上的连续性的...
多弄几个变量把数组空间一个一个…
说得好,就是这个理,有点在考你数据结构的理解
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
FortunateK
老K
等级:
发表于:
2008-04-23 10:49:53
16
楼 得分:
0
物理实现都应该是操作系统的事,好像控制不了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ForestDB
冰
等级:
发表于:
2008-04-23 14:38:50
17
楼 得分:
0
OS给你挡了吧.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lhbgyl
古城
等级:
发表于:
2008-04-24 19:29:02
18
楼 得分:
0
内存分配完全是操作系统的事,程序员所用到的地址都是逻辑地址,逻辑地址到物理地址的映射要由操作系统中的内存管理部分完成,具体的映射规则是由操作系统实现的,可能各种操作系统映射规则都不相同。我不知道是否存在能连续分配物理内存的函数,如果有,那么也是操作系统提供了一种连续物理内存映射的机制,然后封装成为系统调用,再封装为C语言的库函数,最后为程序员所调用。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wxiaozhe
哲别
等级:
发表于:
2008-04-24 19:42:53
19
楼 得分:
0
up 11 floor
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mydo
侯佩 | hopy blog.csdn.net/mydo
等级:
发表于:
2008-04-24 21:24:08
20
楼 得分:
0
修改自己改页表 (但在win NT 中最小单位也只能是 4kb 大小)
线形地址是连续的,但对应页表项物理地址可以修改成不是连续的,但不知楼主意欲何为???
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lixun_21
lixun
等级:
发表于:
2008-04-24 22:13:40
21
楼 得分:
0
引用 11 楼 lanmuyi 的回复:
如果是面试的问题,我觉得他是在看你对数组和链表的理解
开个数组就可以得到逻辑上连续,物理上也连续的存储单元
建个链表我觉得可以算是逻辑上连续,物理上有连续的可能性,但是这种可能性非常小
至于物理连续逻辑不连续,我觉得实现这个很有难度,也很没意义。。。但是应该也能实现
先用malloc为数组申请空间,这样保证了物理的连续,接下来要做的就是打破逻辑上的连续性的...
多弄几个变量把数组空间一个一个的给过…
支持这种说法
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
abc推荐给好友