null_index_test.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 52 行
CPP
52 行
////////////////////////////////////////////////////////////////////////////////// (C) Copyright Ion Gaztanaga 2005-2007. Distributed under the Boost// Software License, Version 1.0. (See accompanying file// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//// See http://www.boost.org/libs/interprocess for documentation.////////////////////////////////////////////////////////////////////////////////#include <boost/interprocess/detail/config_begin.hpp>#include <boost/interprocess/indexes/null_index.hpp>#include <boost/interprocess/managed_shared_memory.hpp>#include <boost/interprocess/mem_algo/simple_seq_fit.hpp>#include <cstddef>#include <cassert>#include <string>#include "get_process_id_name.hpp"using namespace boost::interprocess;typedef basic_managed_shared_memory <char, simple_seq_fit<mutex_family>, null_index>my_shared_objects_t;int main (){ //Create shared memory shared_memory_object::remove(test::get_process_id_name()); { my_shared_objects_t segment (create_only, test::get_process_id_name(), //segment name 65536); //segment size in bytes //Allocate a portion of the segment void * shptr = segment.allocate(1024/*bytes to allocate*/); my_shared_objects_t::handle_t handle = segment.get_handle_from_address(shptr); if(!segment.belongs_to_segment(shptr)){ return 1; } if(shptr != segment.get_address_from_handle(handle)){ return 1; } segment.deallocate(shptr); } shared_memory_object::remove(test::get_process_id_name()); return 0;}#include <boost/interprocess/detail/config_end.hpp>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?