測試環境 centos7 python3.6.5
首先使用c建立記憶體,這裡的方法是:作為引數讀乙個二進位制資料檔案進去,把檔案的內容作為共享記憶體的內容
定義塊
#include #include #include int main(int argc, char *ar**)使用python讀取:;
if (argc < 2)
id = shmget(123559, 21 * 1024 * 1024, ipc_creat | 0777);
if (id < 0)
data = shmat(id, null, 0);
if (data == null)
fp = fopen(ar**[1], "rb");
if (fp == null)
while (totle_len <= 12 + 20 * 1024 * 1024)
memcpy(data + totle_len, buf, len);
totle_len += len;
}fclose(fp);
return 0;
}
rate=int.from_bytes(string_at(addr,4), byteorder='little', signed=true) #這裡資料檔案是小端int16型別
len_a=int.from_bytes(string_at(addr+4,4), byteorder='little', signed=true)
len_b=int.from_bytes(string_at(addr+8,4), byteorder='little', signed=true)
print(rate,len_a,len_b)
f.write(string_at(addr+12,shm_size))
f.close()
#print ("dumped %d bytes in %s" % (shm_size, outfile))
print("success!",datetime.datetime.now()-begin_time)
塊的大小和塊號可以設定,注意讀取的時候 二進位制檔案的資料格式要保持一致否則讀不出來正確的東西
C語言 unix c 共享記憶體
一 共享記憶體 1 獲取乙個鍵值 ftok 3 2 使用鍵值獲取共享記憶體的id shmget 2 include include int shmget key t key,size t size,int shm 引數 key ftok 3 的返回值 size 指定共享記憶體段的尺寸 shm mod...
C 共享記憶體
共享記憶體作為程序通訊的一種方式,通過記憶體對映檔案,然後允許不同的程序訪問同一塊記憶體實現程序間通訊。示例主要分為讀和寫兩個不同的程序。share write.cpp include include using namespace std intmain share read.cpp includ...
共享記憶體的使用
http download1.csdn.net down3 20070529 29183222619.chttp download1.csdn.net down3 20070529 29183246962.chttp download1.csdn.net down3 20070529 2918324...