一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - Linux 中_exit和exit的區別

Linux 中_exit和exit的區別

2021-12-30 17:15viclee108 Linux

這篇文章主要介紹了Linux 中_exit和exit的區別的相關資料,需要的朋友可以參考下

Linux 中_exit和exit的區別

在Linux的標準庫函數中,有一套稱作高級I/O的函數,我們熟知的printf 、fopen 、fread 、fwrite都在此列,他們也被稱作緩沖I/O。其特征是對應每一個打開的文件,都存在一個緩沖區, 在內存中都有一片緩沖區,每次讀文件會多讀若干條記錄,這樣下次讀文件時就可以直接從內存的緩存中取出,每次寫文件時也僅僅是寫入到內存的緩沖區,等待滿足一定的條件(達到一定的數量,或者遇到特定字符,如換行和文件結束符EOF),再將緩沖區的內容一次性的寫入文件,這樣就大大增加了文件讀寫的速度,但也為我們編程帶來了一點點麻煩,如果有些數據,我們認為已經寫入了文件,實際上因為沒有滿足特定的條件,他們還只是保存在緩沖區內,這時我們用_exit函數直接將程序關閉,緩沖區中的數據就會丟失,反之,如果向保證數據的完整性,就一定要使用exit函數。

exit()函數與_exit()函數最大的區別就在于exit()函數在調用exit系統調用之前要檢查文件的打開情況,把文件緩沖區中的內容寫回文件,就是圖中的"清理I/O緩沖"一項。

exit()函數定義在stdlib.h中,而_exit()定義在unistd.h中。exit()和_exit()都用于正常終止一個函數。但_exit()直接是一個sys_exit系統調用,而exit()則通常是普通函數庫中的一個函數。它會先執行一些清除操作,例如調用執行各終止處理函數、關閉所有標準IO等,然后調用sys_exit。

    比如:

?
1
2
3
4
5
int main()
{ printf("this is a test function!!!/n")
 printf("test exit ");
 exit(0);
}
?
1
2
3
4
5
int main()
{ printf("this is a test function!!!/n")
 printf("test exit");
 _exit(0);
}

這兩個程序,程序1輸出的是兩句話,而程序2只輸出了一句話。原因就是因為最后一句話上沒有加上特殊的字符,如換行和文件結束符,因為這個時候文件是存放在緩沖區的,這個例子中文件就是存放打開的顯示設備的緩沖區中的,因為輸出函數要寫入,首先要進行系統調用,這個時候系統會打開顯示設備的緩沖區,而exit的作用就是結束,清理,就是說先檢查緩沖區,把沒有寫入的數據寫入到文件,而_exit是立刻關閉文件,文件緩沖區的內容也就消失了,這個時候就不可能再輸出到顯示設備了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/goodlixueyong/article/details/6011021

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91视频一区| 小寡妇好紧进去了好大看视频 | 手机跑分排行最新排名 | 俄罗斯引擎首页进入 | 国产中文在线 | 婷婷色在线| 猛h辣h高h文湿重口 门房秦大爷在线阅读 | 女人全身裸露无遮挡免费观看 | 久久精品国产清白在天天线 | 男女激情视频1000辣妞范 | 视频在线观看国产 | 精品一区二区三区免费观看 | 欧美黑人一级 | 5g影院天天影院天天爽影院网站 | 亚洲国产综合久久久无码色伦 | 美女张开腿让我了一夜 | 成人影院在线看 | youjizzxxx在线观看 | 久久日韩精品无码一区 | 亚洲 日韩 在线 国产 视频 | 车上小婕子系列辣文小说 | 天天做天天爱天天操 | 日本视频免费在线 | 日韩手机在线观看 | 国产精品免费一级在线观看 | 91精品婷婷国产综合久久8 | 2018av在线| 亚洲国产精品综合一区在线 | 无码国产成人777爽死在线观看 | 久久久久久久尹人综合网亚洲 | bbbxxx乱大交欧美小说 | 四虎永久免费地址在线观看 | 欧洲另类一二三四区 | 四虎精品成人免费视频 | 轻轻色在线视频中文字幕 | miaa076深田咏美在线 | 美女扒开胸罩露出奶 | 美女舒服好紧太爽了视频 | 日本不卡一区二区三区在线观看 | 国产成人91高清精品免费 | 99在线精品免费视频 |