我想实现一个内存映射文件。 引用:http://www.boost.org/doc/libs/1_66_0/doc/html/interprocess/sharedmemorybetweenprocesses.html#interprocess.sharedmemorybetweenprocesses.mapped_file !我现在了解内存映射文件和实现的基础知识。但是我无法找到一个使用内存映射文件的偏移指针的示例。任何人都可以对此有所了解并在可能的情况下提供小代码片段吗?
最佳答案
只有在共享内存中放置具有指针对象的对象时才需要使用偏移指针。
例如:如果您将以下结构放在共享内存中,那么您可能无法访问进程中的第二个原始指针成员(谁没有创建它),因为每个进程的虚拟地址都不同。
结构示例 { 诠释一个, 整数* b, float c };
解决方案 - 要在不同的进程中使用该结构,可以将第二个成员替换为 offset_ptr。
结构示例 { int a, offset_ptr b, int c };
引用:http://www.boost.org/doc/libs/1_38_0/doc/html/interprocess/offset_ptr.html
关于c++ - 在内存映射文件中 boost C++ 偏移指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49188188/