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

首頁 > 編程 > 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()!

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

圖片精選

主站蜘蛛池模板: 南平市| 中阳县| 南和县| 年辖:市辖区| 左贡县| 龙南县| 阿城市| 会东县| 荔波县| 灵石县| 修水县| 荥经县| 钟山县| 林周县| 桃江县| 聊城市| 星子县| 高阳县| 长垣县| 西盟| 江口县| 南江县| 克山县| 韶关市| 汽车| 新蔡县| 务川| 库尔勒市| 寿阳县| 浑源县| 鄱阳县| 祥云县| 当阳市| 建平县| 岳西县| 平昌县| 宜君县| 环江| 南开区| 荥阳市| 手游|