Windows 实时操作系统 RTX64 3.6 学习(二)

发布时间:2026/7/10 17:11:44

Windows 实时操作系统 RTX64 3.6 学习(二)
VS2015共享内存一、写内存端代码1. 创建共享内存hMapFile CreateFileMapping(INVALID_HANDLE_VALUE, // 匿名共享内存仅用名称标识NULL, // 默认安全属性PAGE_READWRITE, // 读写权限0, // 高32位大小0SHARED_MEM_SIZE, // 低32位大小1025字节_T(TestSharedMem) // 共享内存名称全局唯一);2. 映射共享内存到当前进程地址空间pBuf MapViewOfFile(hMapFile, // 共享内存句柄FILE_MAP_ALL_ACCESS, // 读写权限0, 0, // 偏移量0SHARED_MEM_SIZE // 映射大小与创建大小一致);3. 写入数据初始化标志位置0未读取*(char*)((BYTE*)pBuf FLAG_OFFSET) FLAG_UNREAD; // 标志位初始化_tcscpy((TCHAR*)((BYTE*)pBuf DATA_OFFSET), szData); // 写入数据4. 等待读程序读取轮询标志位while (*(char*)((BYTE*)pBuf FLAG_OFFSET) ! FLAG_READ){ Sleep(100); // 每100ms轮询一次减少CPU占用 }5. 清理资源UnmapViewOfFile(pBuf);CloseHandle(hMapFile);二、读内存端代码1. 打开已创建的共享内存名称必须与写程序一致hMapFile OpenFileMapping(FILE_MAP_ALL_ACCESS, // 读写权限FALSE, // 不继承句柄_T(TestSharedMem) // 共享内存名称与写程序一致);2. 映射共享内存到当前进程pBuf MapViewOfFile(hMapFile,FILE_MAP_ALL_ACCESS,0, 0,SHARED_MEM_SIZE // 必须与写程序的1025字节一致);3. 读取数据跳过标志位TCHAR* szData (TCHAR*)((BYTE*)pBuf DATA_OFFSET);4. 设置标志位为1通知写程序*(char*)((BYTE*)pBuf FLAG_OFFSET) FLAG_READ;5. 清理资源UnmapViewOfFile(pBuf);CloseHandle(hMapFile);示例代码参考download.csdn.net/download/qq_34492056/93094280?spm1001.2014.3001.5503先运行写端代码再运行读端代码运行结果如下图

相关新闻

Unread在大型项目中的应用案例:如何支撑日均10万+读写操作

Unread在大型项目中的应用案例:如何支撑日均10万+读写操作

2026/7/10 17:11:44

Unread在大型项目中的应用案例:如何支撑日均10万读写操作 【免费下载链接】unread Handle unread records and mark them as read with Ruby on Rails 项目地址: https://gitcode.com/gh_mirrors/un/unread Unread是一款专为Ruby on Rails应用设计的高效读写…

Winbindex 批量下载指南:自动化获取多个 Windows 二进制文件

Winbindex 批量下载指南:自动化获取多个 Windows 二进制文件

2026/7/10 17:11:44

Winbindex 批量下载指南:自动化获取多个 Windows 二进制文件 【免费下载链接】winbindex An index of Windows binaries, including download links for executables such as exe, dll and sys files 项目地址: https://gitcode.com/gh_mirrors/wi/winbindex …

为什么有的鹅肝价格差那么多?

为什么有的鹅肝价格差那么多?

2026/7/10 17:11:44

为什么有的鹅肝价格差那么多?在高端餐饮与精加工食品领域,鹅肝(Foie Gras)始终是备受关注的食材。然而,采购商和B2B客户常常困惑:市面上的鹅肝价格从每公斤几十元到几百元不等,差异为何如此悬殊…

三步解锁WeMod高级功能:Wand-Enhancer完整使用指南

三步解锁WeMod高级功能:Wand-Enhancer完整使用指南

2026/7/10 19:01:49

三步解锁WeMod高级功能:Wand-Enhancer完整使用指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款专为WeMod游戏助手设…

如何解决Atmosphere系统模块冲突导致的启动失败问题

如何解决Atmosphere系统模块冲突导致的启动失败问题

2026/7/10 19:01:49

如何解决Atmosphere系统模块冲突导致的启动失败问题 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere 当你满怀期待地准备启动Switch上的Atmo…

应对企业级应用部署复杂性挑战:JeecgBoot容器化架构设计与微服务治理方案

应对企业级应用部署复杂性挑战:JeecgBoot容器化架构设计与微服务治理方案

2026/7/10 19:01:49

应对企业级应用部署复杂性挑战:JeecgBoot容器化架构设计与微服务治理方案 【免费下载链接】JeecgBoot 🔥企业级低代码平台集成了AI应用平台,帮助企业快速实现低代码开发和构建AI应用!前后端分离架构 SpringBoot,SpringCloud、Myba…

Wand-Enhancer终极指南:3步免费解锁WeMod Pro完整功能

Wand-Enhancer终极指南:3步免费解锁WeMod Pro完整功能

2026/7/10 19:01:49

Wand-Enhancer终极指南:3步免费解锁WeMod Pro完整功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款专为WeMod游戏助手…

Matplot++:C++数据可视化的终极解决方案,让科学计算如虎添翼 [特殊字符]

Matplot++:C++数据可视化的终极解决方案,让科学计算如虎添翼 [特殊字符]

2026/7/10 19:01:48

Matplot:C数据可视化的终极解决方案,让科学计算如虎添翼 📊 【免费下载链接】matplotplusplus Matplot: A C Graphics Library for Data Visualization 📊🗾 项目地址: https://gitcode.com/gh_mirrors/ma/matplotpl…

LKY Office Tools:一键自动化安装Office的终极解决方案

LKY Office Tools:一键自动化安装Office的终极解决方案

2026/7/10 18:51:47

LKY Office Tools:一键自动化安装Office的终极解决方案 【免费下载链接】LKY_OfficeTools 一键自动化 下载、安装、激活 Office 的利器。 项目地址: https://gitcode.com/GitHub_Trending/lk/LKY_OfficeTools 还在为繁琐的Office安装过程烦恼吗?面…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/9 19:40:56

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/10 6:57:56

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

终极原神FPS解锁器完整指南:轻松突破60帧限制

终极原神FPS解锁器完整指南:轻松突破60帧限制

2026/7/10 0:00:42

终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

2026/7/10 0:00:42

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…

从零实现红黑树:手写C++的set与map容器

从零实现红黑树:手写C++的set与map容器

2026/7/10 0:00:42

1. 项目概述:从STL容器到自研轮子在C的日常开发中,std::set和std::map是我们再熟悉不过的伙伴了。它们一个负责管理不重复的集合,一个负责维护键值对映射,底层都依赖一颗高效的红黑树来保证数据的有序性和操作的性能。但你是否曾想…