vc++的共享記憶體操作**實現起來相對比較容易,但是用c#語言來實現,就有一定難度,由於工作需要,把以前vc開發的共享記憶體**要用c#實現,別說,還費了不少周折,畢竟c#操作api函式和位址指標不是那麼直接,還好,總算完成了,效果還不錯。
共享記憶體操作類:
using
system;
using
system.collections.generic;
using
system.text;
using
system.runtime.interopservices;
namespace
sharememlib
~sharemem()
//////
初始化共享記憶體
///
///共享記憶體名稱
///共享記憶體大小
///public
intinit(
string
strname,
long
lngsize)
else
else
//新建立}//
---------------------------------------
//建立記憶體對映
m_pwdata
=mapviewoffile(m_hsharedmemoryfile, file_map_write, 0,
0, (
uint
)lngsize);
if(m_pwdata
==intptr.zero)
else}//
----------------------------------------
}else
return
0;
//建立成功
}///
///關閉共享記憶體
///
public
void
close()
}///
///讀資料
///
///資料
///起始位址
///個數
///
public
intread(
refbyte
bytdata,
intlngaddr,
intlngsize)
else
return
0;
//讀成功
}///
///寫資料
///
///資料
///起始位址
///個數
///
public
intwrite(
byte
bytdata,
intlngaddr,
intlngsize)
else
return
0;
//寫成功}}
} 測試例程:
using
system;
using
system.collections.generic;
using
system.componentmodel;
using
system.data;
using
system.drawing;
using
system.text;
using
system.windows.forms;
using
sharememlib;
namespace
yfsharemem
private
void
btnopen_click(
object
sender, eventargs e)
else
}private
void
tmrtime_tick(
object
sender, eventargs e)
if(chkwrite.checked)
} }}
}
C 共享記憶體操作類 含原始碼
vc 的共享記憶體操作 實現起來相對比較容易,但是用c 語言來實現,就有一定難度,由於工作需要,把以前vc開發的共享記憶體 要用c 實現,別說,還費了不少周折,畢竟c 操作api函式和位址指標不是那麼直接,還好,總算完成了,效果還不錯。共享記憶體類 測試例程 using system using s...
C 共享記憶體例項 附原始碼
原文 c 共享記憶體例項 附原始碼 網上有c 共享記憶體類,不過功能太簡單了,並且寫記憶體每次都從開頭寫。故對此進行了改進,並做了個小例子,供需要的人參考。主要改進點 通過利用共享記憶體的一部分空間 以下稱為 資料資訊區 來儲存當前記憶體中儲存的資料資訊 count和length或者新增其他資訊 完...
共享記憶體操作類 c
共享記憶體操作類 using system using system.collections.generic using system.text using system.runtime.interopservices namespace sharememlib sharemem 初始化共享記憶體 ...