C語言中Exit函數(shù)的使用_第1頁
C語言中Exit函數(shù)的使用_第2頁
C語言中Exit函數(shù)的使用_第3頁
C語言中Exit函數(shù)的使用_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、exit()結(jié)束當前進程/當前程序/,在整個程序中,只要調(diào)用exit ,就結(jié)束return。是當前函數(shù)返回,當然如果是在主函數(shù) main,自然也就結(jié)束當前進 程了,如果不是,那就是退回上一層調(diào)用。在多個進程時.如果有時要檢測上進程 是否正常退出的.就要用到上個進程的返回值.exit(1)表示進程正常退出.返回1;exit(0)表示進程非正常退出.返回0.進程環(huán)境與進程控制(1):進程的開始與終止.進程的開始:C程序是從main函數(shù)開始執(zhí)行,原型如下:int main(int argc, char *argv);通常main的返回值是int型,正確返回0.如果main的返回值為void或者無,某

2、些編譯器會給出警告,止匕時main的返 回值通常是0.關(guān)于main的命令行參數(shù)不做過多解釋,以下面的程序展示一下:以下是代碼片段:#include!Iint main(int argc, char *argv)int i;for (i = 0; i argc; i+)printf(argv%d: %sn, i, argvi);return 0;.進程終止:C程序的終止分為兩種:正常終止和異常終止.正常終止分為:return, exit, _exit, _Exit, pthreade_exit異常中指分為:abort, SIGNAL,線程響應取消主要說一下正常終止的前4種,即exit系列函數(shù).以

3、下是代碼片段: !#include ivoid exit(int status);void _Exit(int status);i#includevoid _exit(int status);以上3個函數(shù)的區(qū)別是:exit()(或return 0)會調(diào)用終止處理程序和用戶空間的標準I/O清理程序(如fclose), _exit和_Exit不調(diào)用而直接由內(nèi)核接管進行清理.因此,在main函數(shù)中exit(0)等價于return 0. atexit終止處理程序:ISO C規(guī)定,一個進程最對可登記32個終止處理函數(shù),這些函數(shù)由exit按登 記相反的順序自動調(diào)用.如果同一函數(shù)登記多次,也會被調(diào)用多次.原

4、型如下:#includeint atexit(void (*func)(void);其中參數(shù)是一個函數(shù)指針,指向終止處理函數(shù),該函數(shù)無參無返回值.以下面的程序為例:以下是代碼片段:#includestatic void myexit1()i iprintf(first exit handlern);static void myexit2() printf(second exit handlern);int main()if (atexit(my_exit2) != 0)iprintf(cant register my_exit2n);if (atexit(my_exit1) != 0)printf(cant register my_exit1n);if (atexit(my_exit1) != 0)printf(cant register my_exit1n);Iprintf(main is donen);return 0;運行結(jié)果:以下是代碼片段:$ ./a.outmain is doneIfirst exit handleriifirst exit handlersecond exit handler運行結(jié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論