社区
硬件/系统
帖子详情
VC++里怎么样映射内存?如何访问?
doudou80923
2004-06-29 09:08:48
如题
...全文
99
5
打赏
收藏
VC++里怎么样映射内存?如何访问?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taianmonkey
2004-07-09
打赏
举报
回复
下面是一个例子:
void CreateHugeFile(LPCTSTR strFileName, long nFileLen)
{
HANDLE hFile;
hFile = CreateFile(
strFileName,//"C:\\Temp\\Test.dat",
GENERIC_WRITE, //必须有此权限
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);
if( hFile == INVALID_HANDLE_VALUE )
{
//处理出错信息
//获得信息
LPVOID lpMsgBuf; //Windows will allocate
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,
GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言
(LPTSTR)&lpMsgBuf, 0, NULL );
//显示
::MessageBox(0, (LPCTSTR)lpMsgBuf, _T("GetLastError"), MB_OK|MB_ICONINFORMATION );
//lpMsgBuf中是你要的错误提示.
//释放内存
::LocalFree( lpMsgBuf );
return;
}
DWORD dwPtr = SetFilePointer(
hFile,
nFileLen,//0x02800000, // 200 M
NULL,
FILE_BEGIN);
if (dwPtr == 0xFFFFFFFF)
{
// 处理出错信息
//获得信息
LPVOID lpMsgBuf; //Windows will allocate
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,
GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言
(LPTSTR)&lpMsgBuf, 0, NULL );
//显示
::MessageBox(0, (LPCTSTR)lpMsgBuf, _T("GetLastError"), MB_OK|MB_ICONINFORMATION );
//lpMsgBuf中是你要的错误提示.
//释放内存
::LocalFree( lpMsgBuf );
return;
} // End of error handler
SetEndOfFile(hFile);
CloseHandle(hFile);
}
doudou80923
2004-07-09
打赏
举报
回复
如果我已经知道段和偏移量,那应用程序代码里怎么样才能访问到?
smallsword
2004-07-09
打赏
举报
回复
也可以在DLL中开个共享内存,两个进程加载
doudou80923
2004-07-09
打赏
举报
回复
好啊 !!谢谢啦!!
Summer1314
2004-06-29
打赏
举报
回复
CreateFileMapping(), OpenFileMapping, MapViewOfFile, CloseHandle
常用的几个API,看看MSDN吧,我用VC做过,在两个进程间通讯,用的就是内存映射,想要的话可以给你
V
C++
中使用
内存
映射
文件处理大文件.doc
### V
C++
中使用
内存
映射
文件处理大文件 在计算机编程领域,特别是在处理大量数据时,
内存
映射
技术成为了一种高效的数据
访问
手段。本文将详细介绍如何在V
C++
(Visual
C++
)环境下利用
内存
映射
文件(memory-mapped ...
V
C++
中用
内存
映射
文件.doc
`MapViewOfFile`函数则将文件
映射
对象
映射
到进程的地址空间中,返回一个
内存
指针,使得可以直接
访问
文件内容。 在实现多个程序互斥运行时,通常会为
内存
映射
文件对象起一个全局唯一的名称,例如"Mu_texRunning"。每...
V
c++
经典教程+
内存
映射
介绍
内存
映射
允许程序将磁盘上的文件直接
映射
到进程的虚拟地址空间中,这样就可以像
访问
内存
一样
访问
文件,而无需通过读写文件API。这种技术在处理大文件时尤其有用,因为它可以提高性能,减少I/O操作,并且方便多个进程...
V
C++
采用
内存
映射
方式高效率读写大数据
标题 "V
C++
采用
内存
映射
方式高效率读写大数据" 提到的核心技术是
内存
映射
文件(Memory-Mapped File),这是一种在Windows操作系统中用于高效处理大量数据的技术。它允许程序将磁盘上的文件直接
映射
到进程的虚拟地址...
内存
映射
读写文件的方法
3.
映射
视图:使用MapViewOfFile函数将
映射
对象
映射
到进程的地址空间,获取一个指向
映射
内存
的指针。例如: ```cpp LPVOID lpMapAddress = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 0); ``` 4.
访问
文件...
硬件/系统
2,643
社区成员
17,232
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章