国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

linux下用程序?qū)崿F(xiàn)進度條

2019-11-08 02:56:09
字體:
供稿:網(wǎng)友

        對于進度條大家都不陌生,在windows環(huán)境下進度條可以顯示我們下載的進度,那么今天我們可以在linux環(huán)境下模仿實現(xiàn)進度條。

下面我先截圖出我的進度條給大家看看,如下圖:

     接下來我會告訴大家怎么做,可以一步一步實現(xiàn)進度條。

     首先,打開linux環(huán)境,ls一下 會chuxian一個code目錄(ps:code目錄是我自己創(chuàng)建的一個目錄, 我把每次自己寫的程序代碼都會放在code目錄下,這樣的話方便自己查找,同時也不會污染其他的目錄)。接下來在code目錄下創(chuàng)建一個PRoc-dar目錄:mkdir proc-dar。進入進度條目錄:cd proc-bar。接下來創(chuàng)建一個procbar.c文件,touch procbar.c,    vim   procbar.c編輯進度條文件,在編輯界面寫入如下代碼:

保存退出之后,建立一個Makefile文件,touch Makefile,vim Makefile,寫入如下代碼:

保存退出之后,我們make一下 會出現(xiàn)如下界面:

那么,如果我們需要運行procbar,c文件,則只需要輸入./procbar即可。

運行之后,就會出現(xiàn)文章一開始美美地進度條啦!!

接下來我想說一下進度條背景知識:

1.關(guān)于回車跟換行

先說這個誤區(qū),有許多人都認為回車跟換行是一回事,其實不然,回車是回車,換行是換行。

舉個簡單的例子,

在計算機還沒有出現(xiàn)之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鐘可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新的字符傳過來,那么這個字符將丟失。于是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結(jié)束的字符。一個叫做“回車”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行”,告訴打字機把紙向下移一行。這就是“換行”和“回車”的來歷,從它們的英語名字上也可以看出一二。后來,計算機發(fā)明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學(xué)家認為在每行結(jié)尾加兩個字符太浪費了,加一個就可以。于是,就出現(xiàn)了分歧。

這便是回車跟換行的由來。所以大家千萬不要搞混了。

記得在大一的時候,c語言老師說過回車跟換行:

符號    ASCII碼      意義/n        10        換行NL/r        13        回車CR

為什么要說回車跟換行呢?

因為我們的進度條只需要回車不需要換行呀。

2.關(guān)于緩沖區(qū)fflush(stdout)

    有眼尖的小盆友都會看到我的procbar.c文件中會出現(xiàn)一個fflush(stdout)的代碼,有好奇心的寶寶就要問了,你的這個代碼是神馬意思呀?

那么接下來我想跟大家解釋一下關(guān)于進度條的輸出流緩沖區(qū)的問題。

C語言緩沖區(qū)(緩存)詳解

 緩沖區(qū)又稱為緩存,它是內(nèi)存空間的一部分。也就是說,在內(nèi)存空間中預(yù)留了一定的存儲空間,這些存儲空間用來緩沖輸入或輸出的數(shù)據(jù),這部分預(yù)留的空間就叫做緩沖區(qū)。緩沖區(qū)根據(jù)其對應(yīng)的是輸入設(shè)備還是輸出設(shè)備,分為輸入緩沖區(qū)和輸出緩沖區(qū)。

比如我們從磁盤里取信息,我們先把讀出的數(shù)據(jù)放在緩沖區(qū),計算機再直接從緩沖區(qū)中取數(shù)據(jù),等緩沖區(qū)的數(shù)據(jù)取完后再去磁盤中讀取,這樣就可以減少磁盤的讀寫次數(shù),再加上計算機對緩沖區(qū)的操作大大快于對磁盤的操作,故應(yīng)用緩沖區(qū)可大大提高計算機的運行速度。

又比如,我們使用打印機打印文檔,由于打印機的打印速度相對較慢,我們先把文檔輸出到打印機相應(yīng)的緩沖區(qū),打印機再自行逐步打印,這時我們的CPU可以處理別的事情。現(xiàn)在您基本明白了吧,緩沖區(qū)就是一塊內(nèi)存區(qū),它用在輸入輸出設(shè)備和CPU之間,用來緩存數(shù)據(jù)。它使得低速的輸入輸出設(shè)備和高速的CPU能夠協(xié)調(diào)工作,避免低速的輸入輸出設(shè)備占用CPU,解放出CPU,使其能夠高效率工作。


上一篇:invokevirtual

下一篇:隨機數(shù)去重排序

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 厦门市| 温宿县| 特克斯县| 阿合奇县| 庆阳市| 界首市| 金沙县| 兰州市| 新河县| 师宗县| 平南县| 黄陵县| 麦盖提县| 光山县| 巴南区| 西乡县| 平安县| 梅州市| 新建县| 武冈市| 宝清县| 永寿县| 黄浦区| 日土县| 昆明市| 随州市| 淳安县| 遂平县| 和田市| 武冈市| 电白县| 祁阳县| 通海县| 陈巴尔虎旗| 利津县| 马关县| 襄樊市| 南岸区| 清丰县| 兴和县| 昔阳县|