C++共享内存 不同类型数据存储读取

本文介绍如何在C++中使用共享内存来存储和读取不同类型的数值,重点在于利用定位new操作符在共享内存的不同位置存放和读取数据。
摘要由CSDN通过智能技术生成

参考:https://blog.csdn.net/weixin_43935474/article/details/86765601

加入定位new 读取不同位置数据

//创建共享文件句柄 hMapFile,CreateFileMapping()函数创建一个文件映射内核对象
	hMapFile = CreateFileMapping(
		INVALID_HANDLE_VALUE,     //物理文件句柄,设为INVALID_HANDLE_VALUE(无效句柄)以创建一个进程间共享的对象
		NULL,				      //默认安全级别
		PAGE_READWRITE,           //权限可读可写
		0,						  //高位文件大小
		BUF_SIZE,				  //低位文件大小
		"NameOfMappingObject"				  //共享内存名
		);
	//获取指向文件视图的指针 pBuf,MapViewOfFile()函数负责把文件数据映射到进程的地址空间
	m_pRAM = (char*)MapViewOfFile(
		hMapFile,				  //共享内存的句柄
		FILE_MAP_ALL_ACCESS,      //可读写
		0,
		0,
		BUF_SIZE
		);


//读取时--这两种分别是char*与int 的读取和写入
void CShareExchangeRAM::SetResultTestResult(int num)
{	
	int *ResultTestResult = (int*)new (m_pRAM+S2_SIZE*sizeof(char)) int;
	ResultTestResult[0] = num;

}
int CShareExchangeRAM::GetResultTestResult()
{
	int *ResultTestResult =  (int*)new (m_pRAM+S2_SIZE*sizeof(char)) int;
	return ResultT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值