共享記憶體操作類 C 原始碼

2021-09-30 09:32:18 字數 2172 閱讀 5949

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 初始化共享記憶體 ...