boost::进程间 - allocate_aligned - 保证所有进程的一致性相同
boost::interprocess - allocate_aligned - same alignment guaranteed in all processes?
如果我使用 allocate_aligned
在托管共享内存中分配对齐的内存块,是否可以保证此分配在其他进程中共享时具有相同的对齐方式?当然,文档清楚地表明基址的映射方式可能不同,但它似乎没有说明对齐方式。
我运行了一个实验,似乎表明对齐是相同的,但这可能只是运气,所以我想得到关于预期行为的更可靠的确认。(常识说它应该是相同的对齐方式,否则它会严重限制共享内存中allocate_aligned
的有用性,但我真的需要的不仅仅是诉诸常识。
是的,除非由于某种奇怪的原因,您需要的不仅仅是页面对齐。
基址的映射方式可能不同,但此类映射是按页面粒度完成的。这意味着在通用架构上进行 4K 对齐。
相关文章:
- boost::进程间消息队列引发错误
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 是否可以通过C++扩展强制多个python进程共享同一内存
- IPC使用多个管道和分支进程来运行Python程序
- 异常属于C++中的线程还是进程
- WMI检测进程创建事件-c++
- c++多进程编写一个唯一的文件
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 如何在C++中将函数发送到另一个进程
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 终止 QProcess 不会终止子进程
- 将返回值从 exe 传递到 bat,并将其传递给 C# 中的进程
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- Windows 进程间同步类似事件?
- 在挂钩启动新线程时解除挂钩进程
- pclose() 不会给我进程退出代码
- 运行代码时,c++ 会终止进程
- 可以读入进程内存的最大块大小是多少?
- 枚举进程模块在有效句柄上返回无效句柄
- boost::进程间 - allocate_aligned - 保证所有进程的一致性相同