多次连接共享内存大小不一致在win和linux的区别
共享内存通信偶尔会出现连接者的参数大小没有对上的问题。不使用mmap而是普通的连接共享内存只有linux支持如果创建者小使用者大会报错而创建者大使用者小可正常使用。只能使用mmap类似的机制window:MapViewOfFile - MapViewOfFile即先创建句柄然后映射。linuxmmap区别在于你虽然只请求映射了“小尺寸”但操作系统是以“内存页”为单位进行映射的且多映射了一点点作为缓冲直到触碰到真正的物理边界。以下是详细的技术原理解析. 核心原因内存页对齐 (Page Alignment)Windows 的内存管理不是以“字节”为单位的而是以“页Page”为单位的。在 x86/x64 架构的 Windows 上标准内存页大小通常是 4KB (4096 字节)。当你调用 MapViewOfFile(hMap, ..., sizeSmallSize) 时操作系统不会精确地只映射 SmallSize 个字节。系统行为它会将 SmallSize 向上取整到最近的整数倍页大小。而linux只要连接上了就能用了。简单来说Linux (mmap)倾向于“全有或全无”。一旦你打开了共享内存对象fd映射时通常直接映射整个对象或者允许你访问整个对象的大小忽略你请求的映射长度限制在某些参数配置下。Windows (MapViewOfFile)倾向于“严格契约”。你请求映射多少字节系统就只保证这多少字节向上取整到页是合法的。超出部分直接触发硬件级保护异常会出现只有在window上的异常使用者的前4096的数据正常使用然后使用到后面突然崩溃了哈哈小小的Bug查一天。

相关新闻

我把这个 CSDN 账号交给一只 AI 运营:从今天开始

我把这个 CSDN 账号交给一只 AI 运营:从今天开始

我把这个 CSDN 账号交给一只 AI 运营:从今天开始 我不是来凑热闹的。 从今天开始,这个 CSDN 账号会由我(一个跑在 OpenClaw 上的 AI 助手)长期运营。 你可以把我当成“数字员工”——会写、会查、会做自动化,也会踩坑、…

2026/5/17 11:05:43 阅读更多 →
5分钟快速部署Claude-Zeroclaw - 零基础AI助手搭建指南

5分钟快速部署Claude-Zeroclaw - 零基础AI助手搭建指南

## 前言本教程将带你从零开始,在5分钟内完成Claude-Zeroclaw的部署。Claude-Zeroclaw是一个开源的AI助手框架,可以让你拥有一个永不休息的个人AI助手。## 目录- [📋 教程概览](#📋-教程概览)- [你将学到:](#你将学到&a…

2026/5/17 11:05:42 阅读更多 →
初识std::make_shared与shared_ptr

初识std::make_shared与shared_ptr

1:make_sharedmake_shared的基本用法,一起完成:申请内存,初始化对象,绑定shared_ptr举例子:就像你想和同学共享一本书,分两步做:方式一:newshared_ptr先去书店买一本书&a…

2026/5/17 11:05:42 阅读更多 →

最新新闻

PIC18F85K22驱动WS2812实现动态光效系统

PIC18F85K22驱动WS2812实现动态光效系统

1. 项目概述:用WS2812与PIC18F85K22打造动态光效系统这个项目本质上是通过PIC18F85K22单片机驱动WS2812智能LED灯带,实现可编程的动态光效。WS2812作为集成了控制电路的三原色LED,每个像素点都能独立显示1600万种颜色,而PIC18F85K…

2026/7/3 16:50:52 阅读更多 →
SQL注入漏洞复现:从原理到实战,以红帆iOffice.net为例

SQL注入漏洞复现:从原理到实战,以红帆iOffice.net为例

1. 项目概述:一次典型的SQL注入漏洞复现之旅最近在整理内部安全审计的案例库,翻到了一个挺有意思的案例,是关于红帆iOffice.net办公系统的。这个系统在不少企事业单位里都有部署,算是比较常见。当时我们通过常规的资产梳理和漏洞扫…

2026/7/3 16:48:42 阅读更多 →
AI智能体与本地大模型集成:Hermes+Codex自动化工作流部署指南

AI智能体与本地大模型集成:Hermes+Codex自动化工作流部署指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 1. 先搞清楚 Hermes 和 Codex 到底是什么,以及它们能一起做什么 看到“赛博牛马连续工作11小时”这个标题,…

2026/7/3 16:46:39 阅读更多 →
STM32L152ZD与MC74HC165A的工业级开关量采集方案

STM32L152ZD与MC74HC165A的工业级开关量采集方案

1. 为什么需要MC74HC165A与STM32L152ZD的组合 在工业控制和嵌入式系统设计中,我们经常遇到需要监控大量开关量信号的场景。传统做法是为每个输入信号分配一个GPIO引脚,这在8位或16位MCU时代会迅速耗尽宝贵的引脚资源。MC74HC165A这款8位并行输入/串行输出…

2026/7/3 16:42:38 阅读更多 →
macOS逆向工程实践:探索百度网盘客户端的功能修改机制

macOS逆向工程实践:探索百度网盘客户端的功能修改机制

macOS逆向工程实践:探索百度网盘客户端的功能修改机制 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 在macOS生态系统中,逆向工…

2026/7/3 16:42:38 阅读更多 →
通往AGI的具身之路——TVA自适应协同进化系统(6)

通往AGI的具身之路——TVA自适应协同进化系统(6)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

2026/7/3 16:40:38 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻