发送端:
#include <iostream> #include <windows.h> #include <string> using namespace std; #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/mapped_region.hpp> #include <thread> using namespace boost::interprocess; int num = 0; mapped_region *mp_r; void funs() { while (1) { num ++; memcpy(mp_r->get_address(), &num, sizeof(int)); mp_r->get_address(); Sleep(500); } } int main(int argc, char*argv[]) { shared_memory_object share_obj(create_only, "named_obj", read_write); share_obj.truncate(sizeof(int)); mp_r = new mapped_region(share_obj, read_write); std::thread th(funs); th.detach(); getchar(); return 0; }
接收端:
#include <iostream> #include <string> #include <windows.h> using namespace std; #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/mapped_region.hpp> #include <thread> using namespace boost::interprocess; mapped_region* mp_r; void fung() { while (1) { int num = 0; memcpy(&num, static_cast<char*>(mp_r->get_address()), sizeof(int)); cout<<num<<endl; Sleep(500); } } void main(int argc, char *argv[]) { //open shared memory object shared_memory_object share_obj(open_only, "named_obj", read_only);//map the shared memory object to current process mp_r = new mapped_region(share_obj, read_only); std::thread th(fung); th.detach(); getchar(); //remove shared memory object shared_memory_object::remove("named_obj"); }

 

相关文章:

  • 2021-09-12
  • 2021-11-19
  • 2021-04-22
  • 2021-11-21
  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2021-09-03
猜你喜欢
  • 2021-06-02
  • 2021-11-27
  • 2022-12-23
  • 2021-07-12
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案