Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <boost/interprocess/managed_shared_memory.hpp>
- #include <boost/interprocess/allocators/allocator.hpp>
- #include <boost/interprocess/containers/vector.hpp>
- int main ()
- {
- using namespace boost::interprocess;
- try{
- shared_memory_object::remove("MySharedMemory");
- managed_shared_memory segment(create_only, "MySharedMemory", 65536);
- typedef allocator<int, managed_shared_memory::segment_manager> ShVectorAllocator;
- typedef vector<int, ShVectorAllocator> SharedVector;
- //Initialize shared memory STL-compatible allocator
- const ShVectorAllocator vectorAllocator(segment.get_segment_manager());
- //Construct a shared memory
- SharedVector *mySharedVector = segment.construct<SharedVector>("sharedVector")(vectorAllocator);
- //Insert data in the list
- for(unsigned int i = 0; i < 50; i++)
- mySharedVector->push_back(i);
- }
- catch(...){
- shared_memory_object::remove("MySharedMemory");
- throw;
- }
- std::cout << "Object pushed in shared memory. Press any key to remove this object and exit.";
- std::cin.get();
- shared_memory_object::remove("MySharedMemory");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment