gpt4 book ai didi

c++ - C++ 中的共享内存对齐

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:12:07 24 4
gpt4 key购买 nike

分配的共享内存是否有任何对齐方式?如果是,是否适用于所有操作系统?

例如在boost中分配共享内存:

boost::interprocess::shared_memory_object* segment =
new boost::interprocess::shared_memory_object(
boost::interprocess::create_only,
"name",
boost::interprocess::read_write);

segment->truncate(10000);

最佳答案

共享/虚拟内存系统分配和映射内存页面,并按页面大小对齐。查看页面大小列表 here .页面大小是特定于 CPU 和操作系统的。我不知道现代 CPU 使用小于 4kB 的页面大小。

在 POSIX 系统上,您可以使用 sysconf(_SC_PAGESIZE) 找出页面大小。如果正在使用大页面,此调用将返回最小的页面大小。

关于c++ - C++ 中的共享内存对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com