最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++進(jìn)程共享數(shù)據(jù)封裝成類實(shí)例

 更新時(shí)間:2014年10月15日 16:04:59   投稿:shichen2014  
這篇文章主要介紹了C++進(jìn)程共享數(shù)據(jù)封裝成類的方法,以實(shí)例形式講述了其封裝代碼與具體用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C++進(jìn)程共享數(shù)據(jù)封裝成類的方法,分享給大家供大家參考。具體方法如下:

ShareMemory.cpp源文件如下:

復(fù)制代碼 代碼如下:
#include "ShareMemory.h" 
 
CShareMemory::CShareMemory(const    char* pszMapName, int nFileSize, BOOL bServer):m_hFileMap(NULL),m_pBuffer(NULL) 

    if (bServer) //是服務(wù)端,就創(chuàng)建 
    { 
        m_hFileMap = ::CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_EXECUTE_READWRITE, 0, nFileSize, pszMapName); 
    } 
    else //否則就打開 
    { 
        m_hFileMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, pszMapName); 
    } 
    //把它映射到內(nèi)存 
    m_pBuffer = ::MapViewOfFile(m_hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, 0); 

 
CShareMemory::~CShareMemory(void) 

    ::UnmapViewOfFile(m_pBuffer); 
    ::CloseHandle(m_hFileMap); 
}

ShareMemory.h頭文件如下:

復(fù)制代碼 代碼如下:
#pragma once 
#include <Windows.h> 
 
class CShareMemory 

public: 
    CShareMemory(const  char* pszMapName, int nFileSize=0, BOOL bServer=FALSE); 
    ~CShareMemory(void); 
    //屬性 
    LPVOID GetBuffer() const  
    { 
        return m_pBuffer; 
    } 
 
    //實(shí)現(xiàn) 
private: 
    HANDLE m_hFileMap; 
    LPVOID m_pBuffer; 
};

使用時(shí)用法如下:

服務(wù)端:

復(fù)制代碼 代碼如下:
#include "ShareMemory.h" 
int main(int argc, char *argv[]) 

 
    //進(jìn)程間內(nèi)存共享 
    LPCTSTR lpName= "hello"; 
    LPCTSTR lpContent = "123456"; 
    CShareMemory* pShareMemory = new CShareMemory(lpName, 20, FALSE); 
    LPVOID lpBase = pShareMemory->GetBuffer(); 
    strcpy((char*)lpBase, lpContent); 
     
    printf("%s\n",(char*)pShareMemory->GetBuffer()); 
    getchar(); 
    return 0; 
}

客戶端:

復(fù)制代碼 代碼如下:
#include "ShareMemory.h" 
int main(int argc, char *argv[]) 

 
    //進(jìn)程間內(nèi)存共享 
    LPCTSTR lpName= "hello"; 
    LPCTSTR lpContent = "123456"; 
    CShareMemory* pShareMemory = new CShareMemory(lpName, 20, FALSE); 
 
    printf("%s\n",(char*)pShareMemory->GetBuffer()); 
    getchar(); 
    return 0; 
}

希望本文所述對大家的C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C語言中等待socket連接和對socket定位的方法

    C語言中等待socket連接和對socket定位的方法

    這篇文章主要介紹了C語言中等待socket連接和對socket定位的方法,分別為listen()函數(shù)和bind()函數(shù)的用法,需要的朋友可以參考下
    2015-09-09
  • C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼

    C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼

    這篇文章主要介紹了C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語言實(shí)現(xiàn)二叉樹遍歷的迭代算法

    C語言實(shí)現(xiàn)二叉樹遍歷的迭代算法

    這篇文章主要介紹了C語言實(shí)現(xiàn)二叉樹遍歷的迭代算法,包括二叉樹的中序遍歷、先序遍歷及后序遍歷等,是非常經(jīng)典的算法,需要的朋友可以參考下
    2014-09-09
  • C++多態(tài)與虛擬之C++編譯器對函數(shù)名的改編(Name?Mangling)

    C++多態(tài)與虛擬之C++編譯器對函數(shù)名的改編(Name?Mangling)

    在Windows?DLLs中,使用C++編寫的DllMain()等callback函數(shù)需避免C++編譯器進(jìn)行name?mangling,因此需使用extern?"C",這篇文章主要介紹了C++多態(tài)與虛擬:C++編譯器對函數(shù)名的改編(Name?Mangling),需要的朋友可以參考下
    2024-04-04
  • C++中cin的用法詳細(xì)

    C++中cin的用法詳細(xì)

    這篇文章主要介紹了C++中cin的用法詳細(xì),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Qt?Creator配置opencv環(huán)境的全過程記錄

    Qt?Creator配置opencv環(huán)境的全過程記錄

    最近在PC端QT下配置opencv,想著以后應(yīng)該會(huì)用到,索性記錄下,這篇文章主要給大家介紹了關(guān)于Qt?Creator配置opencv環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • C語言學(xué)習(xí)之鏈表的實(shí)現(xiàn)詳解

    C語言學(xué)習(xí)之鏈表的實(shí)現(xiàn)詳解

    鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了C語言中鏈表的實(shí)現(xiàn),需要的可以參考一下
    2022-11-11
  • C語言實(shí)現(xiàn)輸入兩個(gè)數(shù)字將其按從小到大輸出的方法

    C語言實(shí)現(xiàn)輸入兩個(gè)數(shù)字將其按從小到大輸出的方法

    這篇文章主要介紹了C語言實(shí)現(xiàn)輸入兩個(gè)數(shù)字將其按從小到大輸出的方法,本文通過代碼講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • C++右值引用與move和forward函數(shù)的使用詳解

    C++右值引用與move和forward函數(shù)的使用詳解

    為了支持移動(dòng)操作,新標(biāo)準(zhǔn)引入了一種新的引用類型——右值引用(rvalue reference)。所謂右值引用就是必須綁定到右值的引用,這篇文章主要介紹了C++右值引用與move和forward的使用
    2022-08-08
  • 美化你的代碼 vb(VBS)代碼格式化的實(shí)現(xiàn)代碼

    美化你的代碼 vb(VBS)代碼格式化的實(shí)現(xiàn)代碼

    雖然VB.NET出現(xiàn)很久了,但還有好多人仍然在使用VB6。我在實(shí)現(xiàn)一些小功能的時(shí)候也喜歡用VB6,畢竟誰都不想每天的美好心情被VS那烏龜般的啟動(dòng)速度影響
    2012-05-05

最新評論

张掖市| 关岭| 深圳市| 讷河市| 通城县| 井冈山市| 墨江| 石台县| 长泰县| 河北区| 云林县| 新丰县| 康平县| 连州市| 富锦市| 石家庄市| 泸水县| 梁河县| 古丈县| 磴口县| 安岳县| 甘泉县| 鹤壁市| 伊宁县| 霍邱县| 越西县| 孟村| 朔州市| 四子王旗| 博野县| 台安县| 祁门县| 通许县| 江油市| 嵩明县| 桑日县| 古浪县| 拉孜县| 汉川市| 肥西县| 辽阳市|