a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

簡要對比C語言中三個用于退出進程的函數

2020-01-26 14:55:39
字體:
來源:轉載
供稿:網友

C語言_exit()函數:結束進程執行
頭文件:

#include <unistd.h>

定義函數:

void _exit(int status);

函數說明:_exit()用來立刻結束目前進程的執行, 并把參數status 返回給父進程, 并關閉未關閉的文件. 此函數調用后不會返回, 并且會傳遞SIGCHLD 信號給父進程, 父進程可以由wait 函數取得子進程結束狀態.


附加說明:_exit ()不會處理標準I/O 緩沖區, 如要更新緩沖區請使用exit ().

C語言on_exit()函數:設置程序正常結束前調用的函數
頭文件:

#include <stdlib.h>

定義函數:

int on_exit(void (* function) (int void*), void *arg);

函數說明:on_exit()用來設置一個程序正常結束前調用的函數. 當程序通過調用exit()或從main 中返回時, 參數function 所指定的函數會先被調用, 然后才真正由exit()結束程序. 參數arg 指針會傳給參數function函數, 詳細情況請見范例.

返回值:如果執行成功則返回0, 否則返回-1, 失敗原因存于errno 中.

范例

#include <stdlib.h>void my_exit(int status, void *arg){  printf("before exit()!/n");  printf("exit (%d)/n", status);  printf("arg = %s/n", (char*)arg);}main(){  char * str = "test";  on_exit(my_exit, (void *)str);  exit(1234);}

執行:

before exit()! exit (1234) arg = test

C語言atexit()函數:設置程序正常結束前調用的函數
頭文件:

#include <stdlib.h>

定義函數:

int atexit (void (*function) (void));

函數說明:atexit()用來設置一個程序正常結束前調用的函數. 當程序通過調用exit()或從main 中返回時, 參數function 所指定的函數會先被調用, 然后才真正由exit()結束程序.

返回值:如果執行成功則返回0, 否則返回-1, 失敗原因存于errno 中.

范例

#include <stdlib.h>void my_exit(void){  printf("before exit () !/n");}main(){  atexit (my_exit);  exit(0);}

執行:

before exit()!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 精品999| 中文字幕第31页 | 国产精品女同一区二区 | 日本欧美一区 | 人人爽人人做 | 国产高清视频在线观看 | 日韩在线免费观看视频 | 四虎成人精品永久免费av九九 | 伊人久久国产 | 精品国产乱码久久久久久88av | 日韩欧美手机在线 | 日韩中文在线 | 在线欧美成人 | 亚洲综合在线一区二区 | 日韩精品视频免费在线观看 | 日本中文字幕在线看 | 黄桃av| 国产一区二区视频在线 | 久久精品影视 | 日韩欧美精品在线视频 | 中文成人在线 | 99久久精品免费看国产免费软件 | 久久久国产精品入口麻豆 | 国产精品久久久久久久久久 | 国产v日产∨综合v精品视频 | 99视频在线免费观看 | 久久黄视频| 操碰97 | 午夜窝窝| 久久99精品国产91久久来源 | 亚洲激情 欧美 | 成人在线h | 精品亚洲国产成av人片传媒 | 国产第99页 | 毛片91 | 91九色在线观看 | 中文字幕免费中文 | 日本不卡一区二区三区在线观看 | 国产精品成人国产乱一区 | 韩国精品一区二区三区 | 一级毛片在线 |