亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++ windows下創建共享內存

小云
133
2023-08-19 14:09:10
欄目: 編程語言

在Windows下,可以使用CreateFileMapping函數來創建共享內存。

以下是一個示例代碼:

#include <iostream>
#include <windows.h>
int main()
{
// 創建共享內存
HANDLE hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE,   // 使用無效的文件句柄
NULL,                   // 默認安全屬性
PAGE_READWRITE,         // 可讀寫權限
0,                      // 共享內存大小(0表示文件大小)
4096,                   // 共享內存名稱
TEXT("MySharedMemory")
);
if (hMapFile == NULL)
{
std::cout << "無法創建共享內存,錯誤代碼:" << GetLastError() << std::endl;
return 1;
}
// 將共享內存映射到進程的地址空間
LPVOID pBuf = MapViewOfFile(
hMapFile,       // 共享內存句柄
FILE_MAP_ALL_ACCESS,    // 可讀寫權限
0,
0,
);
if (pBuf == NULL)
{
std::cout << "無法映射共享內存,錯誤代碼:" << GetLastError() << std::endl;
CloseHandle(hMapFile);
return 1;
}
// 寫入數據到共享內存
strcpy_s((char*)pBuf, 4096, "Hello, shared memory!");
// 等待用戶輸入
std::cin.get();
// 解除內存映射
UnmapViewOfFile(pBuf);
// 關閉共享內存句柄
CloseHandle(hMapFile);
return 0;
}

這段代碼創建了一個大小為4096字節的共享內存,并將字符串"Hello, shared memory!"寫入其中。你可以在其他進程中使用OpenFileMapping函數來打開并讀取共享內存中的數據。

0
交城县| 清水河县| 达孜县| 会宁县| 五华县| 呼玛县| 黑龙江省| 区。| 武威市| 花莲县| 库车县| 阆中市| 米脂县| 阳西县| 界首市| 介休市| 察隅县| 晋宁县| 沐川县| 赣榆县| 穆棱市| 平塘县| 宁城县| 桂林市| 顺平县| 许昌市| 肃南| 云浮市| 金塔县| 舒城县| 宜良县| 兴和县| 舒兰市| 永新县| 邵阳市| 买车| 河间市| 霍林郭勒市| 广安市| 乐山市| 阳谷县|