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

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>
            久久综合狠狠综合久久综青草| 久久爱91午夜羞羞| 欧美激情第3页| 99国产精品自拍| 一本色道婷婷久久欧美| 欧美四级在线观看| 香蕉乱码成人久久天堂爱免费| 亚洲女优在线| 狠狠色狠色综合曰曰| 欧美国产第一页| 欧美日韩久久精品| 久久黄色网页| 免费看av成人| 亚洲午夜高清视频| 欧美一区二区三区精品| 亚洲成人在线视频网站| 亚洲精品日产精品乱码不卡| 国产精品久久久久久久久免费桃花| 午夜精品成人在线视频| 久久久爽爽爽美女图片| 一本色道久久综合| 午夜精品福利视频| 亚洲国产成人久久| 国产一区二区三区在线播放免费观看 | 久久免费黄色| 欧美成人午夜剧场免费观看| 亚洲欧美电影院| 久久久久久电影| 亚洲在线网站| 欧美不卡在线| 久久成人精品| 欧美日韩在线观看一区二区| 久久一区二区三区四区五区| 欧美日韩一卡| 模特精品在线| 国产日韩欧美中文| 亚洲免费大片| 亚洲激情综合| 欧美一级久久| 亚洲免费在线播放| 欧美成人一区二区三区| 久久久久中文| 国产乱码精品一区二区三区不卡 | 亚洲美女视频在线免费观看| 亚洲中字黄色| 一区二区三区欧美亚洲| 亚洲精品一区在线| 亚洲成色精品| 久久免费高清视频| 久久久久国产精品人| 国产精品看片你懂得| 亚洲精品国产日韩| 亚洲第一精品影视| 久久精品国产清高在天天线| 欧美制服丝袜第一页| 欧美性大战久久久久| 性欧美暴力猛交69hd| 欧美日韩亚洲网| 亚洲黄色高清| 国产精品国产三级国产aⅴ入口 | 狂野欧美一区| 久久噜噜噜精品国产亚洲综合| 国产精品久久婷婷六月丁香| 99伊人成综合| 亚洲图片欧美日产| 欧美三日本三级三级在线播放| 亚洲欧洲视频| 夜夜狂射影院欧美极品| 欧美精品91| 最新热久久免费视频| 日韩午夜激情av| 欧美日韩美女在线观看| 9i看片成人免费高清| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日韩国产成人精品| 夜夜狂射影院欧美极品| 亚洲一区不卡| 国产欧美欧洲在线观看| 欧美一区二区黄色| 免费黄网站欧美| 亚洲精品免费在线观看| 欧美日本免费| 亚洲综合国产激情另类一区| 久久精品动漫| 亚洲激情自拍| 国产精品va在线播放| 新狼窝色av性久久久久久| 欧美a级片网站| 一区二区黄色| 国产日韩欧美高清| 美女黄色成人网| 99精品视频免费全部在线| 欧美专区在线播放| 亚洲黄页视频免费观看| 欧美日产一区二区三区在线观看 | 欧美91视频| 99精品国产热久久91蜜凸| 国产精品视频yy9099| 老司机久久99久久精品播放免费 | 开心色5月久久精品| 亚洲精品国产精品国产自| 国产精品卡一卡二卡三| 久久免费视频在线| 中文av字幕一区| 欧美刺激午夜性久久久久久久| 亚洲一区二区免费看| 激情欧美一区二区三区| 欧美性天天影院| 久久久综合网站| 正在播放欧美一区| 欧美成人久久| 欧美一区二区三区另类 | 亚洲第一在线| 国产精品久久久久aaaa| 美女黄毛**国产精品啪啪| 亚洲在线观看视频| 亚洲乱码久久| 亚洲国产精品成人久久综合一区| 亚洲欧美日韩综合国产aⅴ| 91久久国产精品91久久性色| 亚洲欧洲日韩女同| 久久九九全国免费精品观看| 亚洲午夜激情网站| 亚洲乱码国产乱码精品精| 国内成+人亚洲+欧美+综合在线| 欧美日韩视频第一区| 欧美成人中文字幕| 久久久91精品| 久久精品国产亚洲a| 亚洲在线观看视频| 亚洲午夜精品一区二区| 日韩一级在线观看| 亚洲精品日韩激情在线电影| 欧美激情精品久久久久久黑人| 久久综合给合久久狠狠狠97色69| 午夜日韩激情| 欧美一级在线亚洲天堂| 亚洲一区二区三区四区五区黄| 99精品99久久久久久宅男| 亚洲欧洲日本mm| 亚洲黄色精品| 亚洲麻豆视频| 99热免费精品在线观看| 99视频有精品| 一本色道久久综合亚洲精品小说| 亚洲精品老司机| 日韩亚洲不卡在线| 亚洲精品午夜| 在线中文字幕日韩| 亚洲一区二区在线看| 午夜精彩视频在线观看不卡| 亚洲欧美日韩精品久久奇米色影视| 亚洲在线免费视频| 香蕉成人啪国产精品视频综合网| 欧美一区二区| 久久久无码精品亚洲日韩按摩| 久久夜色精品国产欧美乱| 裸体素人女欧美日韩| 亚洲第一精品夜夜躁人人躁| 亚洲欧洲偷拍精品| 一区二区日韩精品| 欧美亚洲系列| 欧美a级大片| 国产精品极品美女粉嫩高清在线| 国产精品一区免费观看| 一区二区三区在线高清| 亚洲精选一区| 亚洲女性裸体视频| 久久亚洲影院| 亚洲免费观看在线观看| 亚洲欧美视频一区| 欧美.www| 国产免费成人| 亚洲日韩视频| 销魂美女一区二区三区视频在线| 久久一区欧美| 一区二区三区|亚洲午夜| 欧美影院在线| 欧美日韩网址| 伊人成人在线| 亚洲欧美网站| 欧美黄免费看| 性色av香蕉一区二区| 欧美成年人视频| 国产日韩欧美在线看| 99亚洲伊人久久精品影院红桃| 欧美在线一区二区三区| 亚洲激情一区| 久久久国产精彩视频美女艺术照福利 | 欧美激情视频一区二区三区在线播放 | 午夜国产一区| 亚洲国产精品成人精品| 亚洲欧美在线高清| 欧美日韩一区二区三区| 尤物在线精品| 久久久久久久成人| 在线观看视频一区二区| 亚洲国产毛片完整版| 亚洲国产精品一区二区久| 欧美影院在线|