zoukankan      html  css  js  c++  java
  • boost::interprocess(1)

    发送端:
    #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"); }
  • 相关阅读:
    欧拉回路一个定理的证明
    NOIP2018 初赛数学第二题解析
    linux 减少Terminal路径的方法
    网络挖坑
    linux 记录
    河南游记 Day0

    NOI2018 Day 1 你的名字
    大佬的几行fastIO
    Codeforces 781B. Innokenty and a Football League
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3726488.html
Copyright © 2011-2022 走看看