// 無名管道
#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...