共享記憶體最簡單說明

2021-10-20 18:01:23 字數 1210 閱讀 8626

開發中,往往多個程序要對同一塊記憶體進行讀寫操作,這裡可以用共享記憶體實現。

服務端:

#include

"stdafx.h"

#include

#define buf_size 64

#define share_memory_name "test"

#include

using

namespace std;

int_tmain

(int argc, _tchar* ar**)

//寫入共享記憶體

pmapbuf =

mapviewoffile

(hmapfile, file_map_all_access,0,

0, buf_size);if

(pmapbuf ==

null

)memset

(pmapbuf,0,

100)

;strcpy((

char

*)pmapbuf,

"this is my first sharememory!");

system

("pause");

//關閉共享記憶體

unmapviewoffile

(pmapbuf)

;closehandle

(hmapfile)

;return0;

}

客戶端:

#include

"stdafx.h"

#include

#include

using

namespace std;

#define buf_size 64

#define share_memory_name "test"

int_tmain

(int argc, _tchar* ar**)

else

}else

unmapviewoffile

(pmapbuf)

;closehandle

(hmapfile)

;return0;

}

客戶端執行程式後,可讀取到共享記憶體中的資料

實際執行中,當多個程序訪問一塊記憶體的時候,還要使用metex鎖等多種方法,保證記憶體的順序讀寫,防止其混亂,這樣的處理方式尤為重要,不可忽視。

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...

std deque簡單說明

本文 http blog.chinaunix.net u2 86575 showart 1734758.html std deque是乙個高效的雙端佇列,可以高效地進行插入和刪除操作。以sgi c stl為例 deque的基本結構是 有乙個map map中的元素是乙個記錄了乙個大小為512位元組的線...