windows_shared_memory_test.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 85 行

CPP
85
字号
////////////////////////////////////////////////////////////////////////////////// (C) Copyright Ion Gaztanaga 2004-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/detail/workaround.hpp>#ifdef BOOST_WINDOWS#include <boost/interprocess/windows_shared_memory.hpp>#include <boost/interprocess/detail/managed_open_or_create_impl.hpp>#include <boost/interprocess/exceptions.hpp>#include "named_creation_template.hpp"#include <cstring>   //for strcmp, memset#include <iostream>  //for cout#include <string>  //for string#include "get_process_id_name.hpp"using namespace boost::interprocess;static const char *name_initialization_routine(){   static std::string process_name;   test::get_process_id_name(process_name);   return process_name.c_str();}static const std::size_t ShmSize = 1000;//This wrapper is necessary to have a common constructor//in generic named_creation_template functionsclass shared_memory_creation_test_wrapper   : public detail::managed_open_or_create_impl      <windows_shared_memory, false>{   typedef detail::managed_open_or_create_impl      <windows_shared_memory, false> windows_shared_memory_t;   public:   shared_memory_creation_test_wrapper(create_only_t)      :  windows_shared_memory_t(create_only, name_initialization_routine(), ShmSize)   {}   shared_memory_creation_test_wrapper(open_only_t)      :  windows_shared_memory_t(open_only, name_initialization_routine())   {}   shared_memory_creation_test_wrapper(open_or_create_t)      :  windows_shared_memory_t(open_or_create, name_initialization_routine(), ShmSize)   {}};int main (){   typedef detail::managed_open_or_create_impl<windows_shared_memory, false> windows_shared_memory_t;   try{      test::test_named_creation<shared_memory_creation_test_wrapper>();   }   catch(std::exception &ex){      std::cout << ex.what() << std::endl;      return 1;   }   return 0;}#elseint main(){   return 0;}#endif   //#ifdef BOOST_WINDOWS#include <boost/interprocess/detail/config_end.hpp>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?