C++进程间共享数据实例

本文实例讲述了C++进程间共享数据的实现方法,分享给大家供大家参考。具体实现方法如下:

代码如下:

int main(int argc, char *argv[]) 

    //RecursiveDelete("C:\\20_128\\"); 
    //SelfRun("runModel"); 
    //进程间内存共享 
    LPCTSTR lpName= "hello"; 
    LPCTSTR lpContent = "123456"; 
    HANDLE hMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, lpName); 
    if (NULL == hMap) //打开失败 
    { 
        //创建 
        hMap = ::CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_EXECUTE_READWRITE, 0, strlen(lpContent), lpName); 
        if (hMap == NULL) 
        { 
            return -1; 
        } 
        //写入 
        LPVOID lpBase = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0); 
        strcpy((char*)lpBase, lpContent); 
        printf("write %s\n", lpContent); 
    } 
    else 
    { 
        //打开成功就只读取 
        LPVOID lpBase = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0); 
        if (lpBase == NULL) 
        { 
            return -1; 
        } 
        printf("read %s\n",(char*)lpBase); 
    } 
     
    getchar(); 
    return 0; 
}

希望本文所述对大家的C++程序设计有所帮助。

(0)

相关推荐

  • C/C++ 进程通讯(命名管道)的实例

    服务端代码: // pipe_server.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> #include <windows.h> #include <ctime> int main(int argc, _TCHAR* argv[]) { srand(time(NULL)); char buf[256] = ""; DWORD rlen = 0; HA

  • C++进程间共享数据实例

    本文实例讲述了C++进程间共享数据的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int main(int argc, char *argv[])  {      //RecursiveDelete("C:\\20_128\\");      //SelfRun("runModel");      //进程间内存共享      LPCTSTR lpName= "hello";      LPCTSTR lpConten

  • Python multiprocessing.Manager介绍和实例(进程间共享数据)

    Python中进程间共享数据,处理基本的queue,pipe和value+array外,还提供了更高层次的封装.使用multiprocessing.Manager可以简单地使用这些高级接口. Manager()返回的manager对象控制了一个server进程,此进程包含的python对象可以被其他的进程通过proxies来访问.从而达到多进程间数据通信且安全. Manager支持的类型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaph

  • Android实现不同apk间共享数据的方法(2种方法)

    本文实例讲述了Android实现不同apk间共享数据的方法.分享给大家供大家参考,具体如下: Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户(Android 系统是基于Linux)的. 所以不同APK(用户)间互相访问数据默认是禁止的. 但是它也提供了2种APK间共享数据的形式: 1. Share Preference. / Content Provider APK可以指定接口和数据给任何其他APK读取. 需要自己实现接口和Sh

  • AngularJS实现controller控制器间共享数据的方法示例

    本文实例讲述了AngularJS实现controller控制器间共享数据的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html ng-app="myapp"> <head> <title>www.jb51.net 控制器间共享数据</title> <link rel="stylesheet" href="http://netdna.bootstrapcdn.co

  • 详解Laravel视图间共享数据与视图Composer

    1.在视图间共享数据 除了在单个视图中传递指定数据之外,有时候需要在所有视图中传入同一数据,即我们需要在不同视图中共享数据.要实现这一目的,需要使用视图工厂的share方法. 全局帮助函数view和response类似,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例.所以我们可以通过在服务提供者的boot方法中使用如下方式实现视图间共享数据: <?php namespace App\Providers; use

  • python使用Queue在多个子进程间交换数据的方法

    本文实例讲述了python使用Queue在多个子进程间交换数据的方法.分享给大家供大家参考.具体如下: 这里将Queue作为中间通道进行数据传递,Queue是线程和进程安全的 from multiprocessing import Process, Queue def f(q): q.put([42, None, 'hello']) if __name__ == '__main__': q = Queue() p = Process(target=f, args=(q,)) p.start()

  • Python 进程之间共享数据(全局变量)的方法

    进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__=="__main__": num=multiprocessing.Value("d",10.0) # d表示数值,主进程与子进程共享这个value.(主进程与子进程都是用的同一个value) print(num.value) p=multiprocessing.Proc

  • laravel多视图共享数据实例代码

    目录 前言 在视图间共享数据 视图Composer 添加 Composer 到多个视图 总结 前言 在做项目中,网站前台或者后台有些数据需要在多个视图页面使用,例如用户基本信息数据,菜单展示数据.首先想到的是在每个控制器里传入这些需要的数据,但显然这并不科学.经查视图文档了解,可以使用视图间共享数据和视图Composer解决. 在视图间共享数据 有时候我们需要在所有视图之间共享数据片段,这时候可以使用视图工厂的 share 方法,通常,需要在服务提供者的 boot 方法中调用 share 方法,

  • Docker Volumn容器间共享数据的实现

    volume是什么 volume在英文中是容量的意思, 在docker中是数据卷的意思,是用来保存数据的容器 为什么要进行数据共享 在集群中有多台tomcat,对于集群中的tomcat部署的代码是同一份代码的副本,如果页面文件发生变化,意味着每个容器中的页面文件都要进行更新,在大规模的集群中这样的工作量会被无限放大,这时候就需要用到数据共享解决此问题,所谓数据共享指的是多个容器共享一个数据副本,在docker环境中我们该如何实现? 数据共享原理 在宿主机的硬盘上开辟一个空间,用来存放共享的数据,

  • C#实现窗体间传递数据实例

    本文以实例详述了C#两个窗体之间传递数据的实现方法,具体的操作步骤如下: 1.建立两个窗体,并采用公用变量值传递: public partial class Form1 : Form //父窗体 { public string name=""; public Form1() { InitializeComponent(); } private void newBtn_Click(object sender, EventArgs e) { Form2 form2 =new Form2()

随机推荐