1樓:
另外,你要知道只用共享記憶體是不互斥的,你必須結合訊號量一起使用才能防止互斥問題的出現。如果你共享的只是一個整形變數可能問題不大,因為對頁面對齊的整形變數的讀寫都是原子操作,但如果你共享的是個複雜的結構體就得小心了。
2樓:匿名使用者
簡單的實現,沒有新增同步機制,回頭再新增上去,而且,我是在不同終端裡面寫的,你可以把兩段**,一個放到父程序,一個放到子程序...就可以了
你說的這些api,自己man 一次,看看說明就知道用法了....
樓上說的對齊的問題,我沒有太注意..不過,不管你要共享什麼,一個sizeof看看大小,一個memcpy拷貝,你就作為資料直接拷貝到共享記憶體區域就ok了...另外一邊再拷貝回來,用一個結構體型別的指標指向你拷貝回來的資料,不就給這部分記憶體再規劃成一個結構體了。。
至於具體的, key 的含義,你需要了解linux的ipc機制。
#include
#include
#include
#include
#define buf_size 100
#define key 99
int main(void)
shmptr=shmat(shmid,null,0);
if(shmptr==(void*)-1)while(1)
return 0;
}下面這段就每隔10秒鐘掃描共享記憶體區域的內容:
#include
#include
#include
#include
#define buf_size 100
#define key 99
int main(void)
shmptr=shmat(shmid,null,0);
if(shmptr==(void*)-1)while(1)
return 0;}
3樓:匿名使用者
there are programming details at this site:
unix多程序程式設計和程序間的通訊
有詳細的源程式,我就不一一複製。
linux 可以照貓畫虎。
4樓:
幫你頂,希望有這方面專業知道的朋友能站出來幫助你解決困難.
併發程式設計資料共享有哪幾種機制?如何保證資料同步
如何實現linux下多執行緒之間的互斥與同步
c語言圖書管理系統程式設計,C語言圖書管理系統程式
一 程式設計說明書 設計題目 圖書館借閱管理 問題描述 圖書館,適合用c 物件導向的功能來描述。圖書館管理系統分為借書 還書 圖書管理和讀者服務等四個部分。設計一個讀者類reader,記錄每個讀者基本資訊 讀者庫類rdatabase,記錄所有讀者資訊 圖書類book,記錄每本書的基本資訊 圖書庫類b...
在linu下用c語言程式設計,在Linux下用C語言程式設計
4。守護程序的建立 如果你在dos時代編寫過程式,那麼你也許知道在dos下為了編寫一個常駐記憶體的程式我們要編寫多少 了.相反如果在linux下編寫一個 常駐記憶體 的程式卻是很容易的.我們只要幾行 就可以做到.實際上由於linux是多工作業系統,我們就是不編寫 也可以把一個程式放到後臺去執行的.我...
Linux下mysql的C語言程式設計教材有什嗎,不太喜歡看官方pdf,看著累
linux程式設計 neil matthew編的第8章 看一下這兩個 還有一個學習c 的 誰有 linux程式設計師 c語言 實用教程 這本書的pdf或者其他格式的電子文件?麻煩發一個,右lupa編著。我有 linux程式設計師 c語言 實用教程 這本書的ppt課件,要的話郵箱,我發給你。或者直接給...