程序間通訊(CC )

2021-10-10 23:38:51 字數 2061 閱讀 2715

// 無名管道

#include

#include

#include

#include

#include

#include

intmain()

// 產生乙個程序

pid_t pid =

fork()

;if(pid <0)

else

if(pid >0)

else

return0;

}// 命名管道(寫)

// 寫就是乙個平常的程序往檔案裡面寫東西

#include

#include

#include

#include

#include

intmain()

// 判斷是否寫成功

int ret =

write

(fd,

"cp666"

,strlen

("cp666"))

;if(ret <0)

else

close

(fd)

;return0;

}// 命名管道(讀)

#include

#include

#include

#include

#include

#include

intmain()

// 建立管道 檔案 許可權

int ret =

mkfifo

("./cp"

,0666);

if(ret <

0&& errno != eexist)

char buf[

1024];

memset

(buf,0*

00,sizeof

(buf));

int n =

read

(fd, buf,

sizeof

(buf));

if(n <0)

else

if(n ==0)

else

close

(fd)

;return0;

}// 共享記憶體(寫)

#include

#include

#include

#include

#include

#include

#include

intmain()

// 獲得檔案長度

int len =

lseek

(fd,0,

seek_end);

// 獲取對映位址

void

* addr =

mmap

(null

, len, prot_write|prot_read, map_shared, fd,0)

;// 直接對這個位址進行操作

memcpy

(addr,

"cp666"

,strlen

("cp666"))

;close

(fd)

;return0;

};// 共享記憶體(讀)

#include

#include

#include

#include

#include

intmain()

int len =

lseek

(fd,0,

seek_end);

void

* addr =

mmap

(null

, len, prot_write|prot_read, map_shared, fd,0)

;char

* p =

(char

*)addr;

printf

("%s"

, p)

;close

(fd)

;return0;

}

php程序間通訊 yoc PHP程序間通訊

php是用c編寫的,因此它對系統底層api的操作與c很像,同大多數語言一樣,php程序間通訊的方式有以下幾種 訊息佇列,管道,共享記憶體,socket和訊號。本文是對這幾種通訊方式對整理 管道通訊pipe 管道用於承載簡稱之間的通訊資料。為了方便理解,可以將管道比作檔案,程序a將資料寫到管道p中,然...

程序間通訊

實現程序間資料共享除了常用的記憶體檔案對映外,對於一些非檔案的資料共享可以直接使用wm copydata。如果需要在程序a傳遞資料到程序b,簡單的實現如下 在程序a中 cstring strdatatosend t hello 需要傳遞的資料 hwnd hwndreceived 程序b的接收資料視窗...

程序間通訊

最近做專案遇到奇怪的問題,我在主線程中建立乙個工作執行緒。在工作執行緒中用sendmessage向主線程傳送訊息,通知主線程操作office 物件。getactiveobject時提示 hr 0x8001010d 因為應用程式正在傳送乙個輸入同步呼叫,所以無法執行傳出的呼叫。我把sendmessag...