青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

c++實例研究

從0開始

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  104 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks
輸出緩沖區
先來看以下一段代碼(test.c):

  1 #include<stdio.h>
  2 #include<sys/types.h>
  3
  4 int main()
  5 {
  6     pid_t pid;
  7     fprintf(stdout,"%s","Start fork...");
  8     pid = fork();
  9     switch(pid)
 10     {
 11     case -1:
 12         break;
 13     case 0:
 14         printf("%s","Child process.\n");
 15         break;
 16     default:
 17         printf("%s","Parent process.\n");
 18         break;
 19     }
 20     return 0;
 21 }


編譯執行:

$gcc -o test test.c
$./test
Start fork...Child process.
Start fork...Parent process.

   出乎意料的是,為什么"Start fork..."輸出了兩次呢?子進程是從fork之后的語句開始執行的,那么多出來那個"Start fork..."是哪里來的呢?

先了解一下緩沖區:

  這個緩沖區既不是內核中的緩沖區,也不是用戶分配的緩沖區,而是有編譯器維護的用戶進程空間中的緩沖區.緩沖區類型有:全緩沖(大部分緩沖都是這類型)、行緩沖、無緩沖。

  標準里沒有規定各種流是什么緩沖,stderr和stdout是哪種緩沖類型是和環境相關的。 stderr 可能是無緩沖、行緩沖,但不能是全緩沖。stdin 和 stdout 可能是無緩沖、行緩沖,也可能是全緩沖。不過,stdin 和 stdout 如果分別是指鍵盤和顯示器等交互設備(interactive device)的話,那么只能是無緩沖或行緩沖。

  默認情況下,printf()在屏幕輸出的時候是行緩沖的,所以父進程在執行了第一個printf語句后,"Start fork..."還保存在緩沖區中,執行fork的時候,父進程緩沖區的數據也被復制到子進程中,子進程在刷新緩沖區的時候,輸出了從父進程復制來的"Start fork..."。
 
下面對程序進行一些修改:
1、如果把第7句改為:
fprintf(stdout,"%s","Start fork...\n");
$./test
Start fork...
Child process.
Parent process.
說明當前環境下printf是行緩沖的。

把修改過的程序的執行結果重定向到文件中:
$./test > temp
$cat temp
Start fork...
Child process.
Start fork...
Parent process.
這說明將printf輸出結果重定向到文件的時候就變了全緩沖.

2、如果在第7行以后加入一句:
fflush
(stdout);

$./test > temp
$cat temp
Start fork...
Child process.
Parent process.
我們用fflush強制刷新緩沖區,這樣父進程緩沖區被清空。我們在fork之前一般都要用fflush(NULL)清空所有流。

3、我們把第7句改為:
fprintf(stderr,"%s","Start fork...");
$./test > temp
Start fork...
$cat temp
Child process.
Parent process.

把修改過的程序的執行結果重定向到文件,把標準錯誤重定向到標準輸出:
$./test > temp 2>&1
$cat temp
Start fork...
Child process.
Parent process.
表明當前環境stderr的默認目標是終端,而且是不緩沖的.

4、如果我們在第7句之前加入:
setvbuf
(stdout, NULL, _IONBF, 0);
設置標準輸出為無緩沖。
$./test > temp
$cat temp
Start fork...
Child process.
Parent process.
posted on 2010-06-01 11:26 elprup 閱讀(500) 評論(0)  編輯 收藏 引用 所屬分類: 工程問題集
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩一区二区在线| 欧美中文字幕在线播放| 久久亚洲精品中文字幕冲田杏梨| 亚洲三级影院| 国内精品伊人久久久久av影院| 欧美日韩国产综合久久| 久久久综合免费视频| 亚洲免费影院| 99精品视频免费观看视频| 亚洲第一中文字幕| 欧美中文在线观看| 亚洲综合日韩在线| 亚洲天堂av在线免费观看| 亚洲区国产区| 亚洲福利在线看| 激情综合色综合久久综合| 国产视频在线观看一区二区| 欧美三级欧美一级| 欧美日韩另类在线| 欧美精品在线观看播放| 美女主播视频一区| 麻豆91精品| 麻豆av福利av久久av| 久久久综合精品| 久久综合电影一区| 久久综合五月| 免费观看在线综合色| 久久男人av资源网站| 久久久久国产精品一区三寸| 久久se精品一区精品二区| 香蕉尹人综合在线观看| 小辣椒精品导航| 欧美一区二区福利在线| 欧美制服第一页| 亚洲小视频在线观看| 最新热久久免费视频| 亚洲电影下载| 91久久精品一区二区别| 亚洲欧洲日本在线| 亚洲精品在线观| 一本色道久久加勒比精品| 夜夜爽av福利精品导航| 99精品国产一区二区青青牛奶| 亚洲精选中文字幕| 亚洲素人在线| 欧美一级淫片aaaaaaa视频| 欧美在线国产精品| 久久综合999| 亚洲国产高潮在线观看| 亚洲精品久久久久久久久久久久 | 日韩视频在线永久播放| 日韩亚洲欧美精品| 亚洲欧美日韩精品久久久| 久久精品官网| 欧美成年人视频| 日韩西西人体444www| 亚洲香蕉网站| 久久频这里精品99香蕉| 欧美久久电影| 国产欧美一区二区精品仙草咪| 激情久久中文字幕| 一本一道久久综合狠狠老精东影业 | 国产三区精品| 亚洲国产高清在线| 亚洲小说欧美另类社区| 久久九九全国免费精品观看| 欧美成人国产| 中文日韩在线| 久久中文字幕一区| 国产精品久久久久999| 激情伊人五月天久久综合| 日韩午夜剧场| 久久九九国产精品| 亚洲精品日韩在线观看| 性欧美video另类hd性玩具| 美国十次成人| 国产精品女同互慰在线看| 亚洲福利视频网| 香蕉成人伊视频在线观看| 欧美成人精品福利| 亚洲午夜久久久| 另类欧美日韩国产在线| 国产伦精品一区二区三区| 亚洲国产欧美一区| 欧美在线视频导航| 亚洲日本aⅴ片在线观看香蕉| 欧美一区二区国产| 欧美三级网址| 亚洲韩国一区二区三区| 欧美一级淫片aaaaaaa视频| 最新亚洲激情| 久久久国产一区二区| 国产精品久久久久久久久久久久 | 亚洲一区在线看| 亚洲成人在线网站| 亚洲综合欧美| 亚洲国产精品一区| 久久激情久久| 国产精品资源在线观看| 日韩视频在线观看一区二区| 久久一区中文字幕| 亚洲欧美国产精品桃花| 欧美日韩国产91| 亚洲欧洲精品一区二区三区不卡| 久久国产主播精品| 亚洲私人黄色宅男| 欧美日韩在线高清| 亚洲免费观看视频| 欧美激情一区二区三区高清视频| 久久国产精品久久久久久久久久| 国产精品免费看片| 亚洲伊人伊色伊影伊综合网| 亚洲国产小视频| 免费日韩一区二区| 亚洲二区在线| 欧美a级理论片| 久久久国产91| 精品999网站| 久久亚洲二区| 久久午夜精品| 在线日韩电影| 欧美高清在线精品一区| 久久亚洲综合色| 亚洲高清av| 欧美黑人在线观看| 欧美高清hd18日本| 亚洲美女在线看| 亚洲精品乱码久久久久久蜜桃麻豆 | 一区二区欧美亚洲| 亚洲精品乱码久久久久久黑人| 欧美 日韩 国产 一区| 亚洲精品123区| 91久久精品www人人做人人爽| 免费毛片一区二区三区久久久| 亚洲国产日韩欧美在线图片| 蜜桃久久精品乱码一区二区| 久久久人人人| 亚洲国产欧美日韩精品| 91久久在线观看| 欧美三级在线播放| 午夜精品视频| 久久精品免费电影| 亚洲国产日韩欧美在线99| 91久久国产自产拍夜夜嗨| 欧美日韩一区二区在线观看视频 | 欧美好吊妞视频| 欧美激情久久久久| 中文欧美日韩| 性欧美video另类hd性玩具| 狠狠狠色丁香婷婷综合激情| 欧美成人dvd在线视频| 欧美精品自拍| 欧美一级成年大片在线观看| 香蕉成人伊视频在线观看| 在线观看三级视频欧美| 最新成人av在线| 国产精品免费福利| 老司机67194精品线观看| 欧美激情在线观看| 午夜精品国产| 久久综合九色综合欧美就去吻| 亚洲欧洲日产国产网站| 亚洲少妇诱惑| 极品少妇一区二区| 亚洲另类在线一区| 国产欧美三级| 亚洲国产精品一区二区第四页av| 欧美午夜精品久久久久久孕妇| 久久精品成人一区二区三区| 免费欧美高清视频| 亚洲欧美日韩在线不卡| 久久综合九色综合欧美就去吻| 一区二区三区高清在线 | 久久国产精品久久久| 另类专区欧美制服同性| 亚洲欧美日韩国产综合| 久久蜜桃av一区精品变态类天堂| 在线亚洲一区| 久久久久网站| 午夜精品国产更新| 欧美成人资源| 久久久久久久激情视频| 欧美日韩国产精品专区| 美女脱光内衣内裤视频久久影院| 欧美日韩一级片在线观看| 免费观看亚洲视频大全| 国产精品99免费看 | 欧美在线视频观看免费网站| 免播放器亚洲一区| 久久国产精品免费一区| 欧美日本韩国一区| 美女视频一区免费观看| 国产精品亚发布| 亚洲久久视频| 亚洲国产综合91精品麻豆| 欧美一区二区精品久久911| 一区二区三区偷拍| 你懂的国产精品| 久久久美女艺术照精彩视频福利播放| 欧美日韩天堂|