matlab 申请内存及释放,共享内存的申请和释放 - osc_9ezz4lqf的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了如何在MATLAB中使用CreateFileMapping和MapViewOfFile函数申请和映射内存,以及如何通过UnmapViewOfFile和CloseHandle进行释放。通过创建文件映射对象并映射到地址空间,实现物理页的共享。示例代码展示了具体的操作流程。
摘要由CSDN通过智能技术生成

1.通过映射来申请内存

物理页可以在多个进程中共享;

CreateFileMapping函数用于创建一个文件映射内核对象。

HANDLE CreateFileMapping(

HANDLE hFile,                       //物理文件句柄

LPSECURITY_ATTRIBUTES lpAttributes, //安全设置

DWORD flProtect,                    //保护设置

DWORD dwMaximumSizeHigh,            //高位文件大小

DWORD dwMaximumSizeLow,             //低位文件大小

LPCTSTR lpName                      //共享内存名称

);

MapViewOfFile是计算机函数,功能是将一个文件映射对象映射到当前应用程序的地址空间。MapViewOfFileEx允许我们指定一个基本地址来进行映射。

LPVOID WINAPI MapViewOfFile(

__in HANDLE hFileMappingObject,  // 为CreateFileMapping()返回的文件映像对象句柄。

__in DWORD dwDesiredAccess,   //映射对象的文件数据的访问方式

__in DWORD dwFileOffsetHigh,  //表示文件映射起始偏移的高32位.

__in DWORD dwFileOffsetLow,  //表示文件映射起始偏移的低32位.(64KB对齐不是必须的)

__in SIZE_T dwNumberOfBytesToMap   //指定映射文件的字节数.

);

需要和

//关闭映射

UnmapV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值