step 1:$ mkfifo fifo1
step 2 :$ vim readfifo.c 新增如下**:
//readfifo檔案
#include
#include
#include
#include
#include
#include
#include
#include
int main()
close(fd);
return 0;
}儲存退出;
step 3:$ vim writefifo.c 新增如下**:
檔案*****************
#include
#include
#include
#include
#include
#include
#include
#include
int main()
write(fd, buf, sizeof(buf) );//將使用者從鍵盤輸入的字元通過fifo傳送出去
memset(buf, 0, sizeof(buf) );//重新整理buf
}close(fd);
return 0;
}儲存並退出;
step 4:編寫makefile ,將readfifo和writefifo同時進行編譯
.suffixes:.c .o
cc=gcc
srcs1=readfifo.c
srcs2=writefifo.c
objs1=$(srcs1:.c=.o)
objs2=$(srcs2:.c=.o)
exec1=readfifo
exec2=writefifo
all:$(objs1) $(objs2)
$(cc) -o $(exec1) $(objs1)
$(cc) -o $(exec2) $(objs2)
@echo ' ^-^ ^-^ ^-^ ^-^ ^-^ ok ^-^ ^-^ ^-^ ^-^'
.c.o:
$(cc) -wall -g -o $@ -c $<
clean:
rm -f $(objs1) $(objs2)
rm -f core*
儲存退出;
step 5:進行編譯鏈結:
$ make clean
$ make
$ ./readfifo
//開啟另一終端,執行下面步驟
$ ./writefifo
結果如下所示:
三步分析:
分析1:當執行$ ./readfifo時,將出現一片空白,其實它在等待讀出寫入的資料,如圖中第一步所示,
分析2:當執行$ ./writefifo時,也出現空白區,這就意味著,使用者可以從鍵盤上輸入資料了,如第二步所示,
分析3:當使用者寫入資料,敲下回車鍵,將會由第二個終端向第乙個傳遞資料,如下圖所示:
倘使用者一直從第二個終端輸入,那麼第乙個終端將會接到相應的內容,直到使用者不想再輸入了,想退出輸入,那麼,輸入0,在回車,就會立刻結束此次通訊,如下所示:
利用linux管道實現乙個單向聊天工具
step 1 mkfifo fifo1 step 2 vim readfifo.c新增如下 readfifo檔案 include include include include include include include include int main close fd return 0 儲存...
利用管道實現程序間的單向通訊
管道是程序間通訊的最原始方式,今天我們利用管道的程序間通訊,來實現簡單的程序間單向通訊 首先我們需要了解命名管道的一些特性命名管道的使用與建立 然後建立乙個fifo c的檔案來實現輸入資料和傳送資料 這是乙個命名管道的實現,往命名管道中寫入資料,並且傳送給另乙個程序 1.建立乙個命名管道 int m...
利用CoreAnimation實現乙個時間的進度條
那麼接下來就是如何用coreanimation實現乙個進度條控制項了。首先呢,讓我們建立乙個繼承自cashapelayer的wkprogressbarlayer。wkprogressbarlayer預設自身的bounds就是整個進度條的大小。inte ce wkprogressbarlayer ca...