資源簡介
《LINUX C編程從初學到精通》光盤源碼
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#define?BUFSIZE?PIPE_BUF??/*?PIPE_BUF:管道默認一次性讀寫的數據長度*/
void?err_quit(char?*?msg)
{
????printf?(?msg?);
????exit(1);
}
int?main(void)
{
????int?fd[2];
????char?buf[BUFSIZE]?=?“hello?my?brother!\n“;????????/*?緩沖區?*/
????pid_t?pid;
????int?len;
????if?(?(pipe(fd))?0?)???????????/*創建管道*/
????{
????????err_quit(“pipe?failed\n“);
????}
????if?(?(pid?=?fork())?0?)????????/*創建第一個子進程*/
????{
????????err_quit(“fork?failed\n“);
????}
????else?if?(?pid?==?0?)????????????/*子進程中*/
{
????????close?(?fd[0]?);????????????????/*關閉不使用的文件描述符*/
????????write(fd[1]?buf?strlen(buf));????/*寫入消息*/
????????exit(0);
????}
????if?(?(pid?=?fork())?0?)?????????????/*創建第二個子進程*/
????{
????????err_quit(“fork?failed\n“);
????}
????else?if?(?pid?>?0?)?????????????/*父進程中*/
{
????????close?(?fd[0]?);
????????close?(?fd[1]?);
????????exit?(?0?);
????}
????else???????????????????????/*第二個子進程中*/
{
????????close?(?fd[1]?);??????????????????/*關閉不使用的文件描述符*/
????????len?=?read?(fd[0]?buf?BUFSIZE);??/*讀取消息*/
????????write(STDOUT_FILENO?buf?len);?/*將消息輸出到標準輸出*/
????????exit(0);
????}
????return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1335??2010-01-23?11:41??sample\chapter_10\brother_pipe.c
?????文件????????604??2010-01-23?11:42??sample\chapter_10\create_FIFO.c
?????文件????????666??2010-01-23?11:40??sample\chapter_10\create_pipe.c
?????文件????????460??2010-01-23?11:49??sample\chapter_10\create_shm.c
?????文件???????3613??2010-01-23?11:44??sample\chapter_10\msg_app.c
?????文件???????1125??2010-01-23?11:41??sample\chapter_10\parent_pipe_child.c
?????文件????????606??2010-01-23?16:29??sample\chapter_10\read_fifo.c
?????文件????????632??2009-10-17?23:54??sample\chapter_10\read_shm.c
?????文件???????4100??2010-01-23?22:59??sample\chapter_10\sem_app.c
?????文件???????1121??2010-01-23?11:43??sample\chapter_10\write_fifo.c
?????文件????????646??2009-10-17?23:52??sample\chapter_10\write_shm.c
?????文件???????1157??2010-01-24?15:41??sample\chapter_11\bind.c
?????文件???????1541??2009-10-24?11:05??sample\chapter_11\client_tcp.c
?????文件???????1455??2009-10-25?21:11??sample\chapter_11\client_udp.c
?????文件???????1800??2010-01-24?15:43??sample\chapter_11\lisn_acp.c
?????文件???????5417??2009-10-27?22:16??sample\chapter_11\myping.c
?????文件???????1177??2010-01-24?15:53??sample\chapter_11\remote_connect.c
?????文件???????2029??2010-01-24?16:18??sample\chapter_11\remote_read.c
?????文件???????1476??2010-01-24?16:08??sample\chapter_11\remote_recv.c
?????文件???????2547??2009-10-24?10:59??sample\chapter_11\server_tcp.c
?????文件???????1282??2009-10-25?21:09??sample\chapter_11\server_udp.c
?????文件????????540??2010-01-25?17:21??sample\chapter_12\add_label.c
?????文件????????842??2010-01-25?17:23??sample\chapter_12\button_example.c
?????文件???????1519??2010-01-25?18:46??sample\chapter_12\check_radio.c
?????文件???????1726??2010-01-25?18:44??sample\chapter_12\control_example.c
?????文件???????2051??2009-10-31?22:24??sample\chapter_12\con_nested_table.c
?????文件???????1415??2009-11-01?21:03??sample\chapter_12\dialog_example.c
?????文件????????981??2010-01-25?17:24??sample\chapter_12\entry_example.c
?????文件????????311??2010-01-25?17:19??sample\chapter_12\first_win.c
?????文件????????777??2009-10-31?23:49??sample\chapter_12\hpaned_example.c
............此處省略109個文件信息
- 上一篇:STM32燒寫算法flash包
- 下一篇:STM32 多路PWM輸出
評論
共有 條評論