linux下系統程式設計,多程序間資料共享,即共享變數

2022-02-17 14:18:54 字數 1259 閱讀 1485

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課件,要的話郵箱,我發給你。或者直接給...