社区
语言基础/算法/系统设计
帖子详情
关于内存映射文件大小的问题
wintergoes
2009-05-24 08:37:13
从网上看说内存映射文件的大小在运行期是不能被更改的,是否是这样?
如果我想增加映射文件的内容时,就要在创建的时候创建一个足够大的内存对象,这样如果我用不了这么多空间,保存的文件后面是不是会有一大堆空白的地方?
请大侠指教
...全文
168
7
打赏
收藏
关于内存映射文件大小的问题
从网上看说内存映射文件的大小在运行期是不能被更改的,是否是这样? 如果我想增加映射文件的内容时,就要在创建的时候创建一个足够大的内存对象,这样如果我用不了这么多空间,保存的文件后面是不是会有一大堆空白的地方? 请大侠指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yshuui
2009-05-25
打赏
举报
回复
空白是#0
thenshesaid
2009-05-24
打赏
举报
回复
用二进制编辑软件打开TXT看看,后面不一定就是SPACE
wintergoes
2009-05-24
打赏
举报
回复
谢谢各位,我把一段代码贴上来,是DELPHI的,加了注释
procedure TForm1.btnCreateClick(Sender: TObject);
var
PText, Ps: PChar;
ErrorID: DWord;
strSource: string;
begin
// 文件句柄
fHandle := CreateFile(PChar('c:\response.txt'), GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ, nil, OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN, 0);
// 用fHandle创建内存映射对象,大小为500字节
MapViewHandle := CreateFileMapping(fHandle, 0, PAGE_READWRITE, 0, 500, 'MapViewTest');
// 获取映射对象的指针地址
PText := MapViewOfFile(MapViewHandle, FILE_MAP_ALL_ACCESS, 0, 0, 0);
// 给字符串变量赋值
strSource := '123fjfjsoijdfoiejflkdsjflsjdfoiejwoijfsjdfljd';
// 将字符串内容复制到映射对象中
StrCopy(PText, PChar(strSource));
// 关闭映射对象和文件句柄
CloseHandle(MapViewHandle);
CloseHandle(fHandle);
end;
这个过程对txt文件进行了修改,文本文件的内容为'123fjfjsoijdfoiejflkdsjflsjdfoiejwoijfsjdfljd'后面由很多个空格,就是把500个字符填充满了
会思考的草
2009-05-24
打赏
举报
回复
事实上提交的是一段虚拟地址空间,不一定当时就请求分配物理内存。
地球人呢
2009-05-24
打赏
举报
回复
我以前用过内存映射文件,运行时确定是没办法改变大小, 不过在你确定的文件的实际大小后,可以利用BOOL SetEndOfFile( HANDLE hFile )改变物理文件大小.
biweilun
2009-05-24
打赏
举报
回复
是有空白没错 很多人初始化的时候都memset(...,0)的
我编人生不编程
2009-05-24
打赏
举报
回复
操作系统的内存管理是虚拟内存
虚拟地址
对单个应用程序来说是看起来很多空白
但是实际上是断断续续的空间~~
hibernate3.3.1的jar包
4. **实体类与映射文件** - **实体类**:继承Hibernate的持久化类`Serializable`,并使用`@Entity`注解标识为数据库表的映射类。 - **属性映射**:使用`@Id`定义主键,`@GeneratedValue`定义主键生成策略,其他...
[笔记]Windows核心编程《十七》
内存映射
文件
文章目录前言一、映射到内存的可执行文件和DLLCreateProcess调用过程二、映射到内存的数据文件三、使用
内存映射
文件四、用
内存映射
文件来处理大文件五、
内存映射
文件和一致性六、给
内存映射
文件的指定基地址七、内存...
内存映射
文件原理
内存映射
文件
内存映射
文件与虚拟内存的区别映射原理mmap() 函数mmap基础概念mmap映射原理mmap优点mmap相关函数
内存映射
文件与虚拟内存的区别
内存映射
文件是由操作系统支持的一种文件处理方式,通过文件映射,...
操作系统——
内存映射
文件
内存映射
文件 1.定义:
内存映射
文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。
内存映射
文件与虚拟内存有些类似,通过
内存映射
文件可以保留一个...
Python
内存映射
文件详解与实战指南
接着,探讨了高级的读写操作,包括随机访问和动态调整
文件大小
,展示了
内存映射
文件在处理大型数据集和共享内存方面的优越性。在实际应用中,
内存映射
文件可以广泛应用于数据处理、文件编辑器、共享内存和性能优化等...
语言基础/算法/系统设计
16,746
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章