#include <iostream> #include <boost/interprocess/managed_shared_memory.hpp> struct pos2d { int x; int y; }; using namespace std; int main() { //boost::interprocess::shared_memory_object类是按照单个字节的方式读写共享内存,用起来不方便 boost::interprocess::shared_memory_object::remove("Highscore"); boost::interprocess::managed_shared_memory managed_shm(boost::interprocess::open_or_create, "Highscore", 1024);//分配1024字节 pos2d pos = {1, 1}; auto ptr = managed_shm.construct<pos2d>("pos2d")(pos); std::pair<pos2d*, std::size_t> p = managed_shm.find<pos2d>("pos2d"); if (p.first) //first是对象的指针,second表示对象的个数 { std::cout << p.first->x << p.first->y << std::endl; std::cout << p.second << std::endl; } getchar(); return 0; }