RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用exit()、_exit()和_Exit()來終止程序運行呢?

jf_Vqngj70R ? 來源:美男子玩編程 ? 2024-02-22 12:20 ? 次閱讀

Linux系統(tǒng)下,你可以使用 exit()、_exit() 和 _Exit() 來終止程序運行,特別是在出現(xiàn)錯誤或執(zhí)行失敗的情況下。這樣可以確保程序在發(fā)生嚴重錯誤時能夠安全地退出。

1

exit() 函數(shù)

用法:void exit(int status)。

exit() 函數(shù)是標準 C 庫的一部分,常用于 C 和 C++ 程序中。

當調(diào)用時,它執(zhí)行一系列的清理操作(如調(diào)用使用 atexit() 注冊的函數(shù)),刷新 I/O 緩沖區(qū),然后終止程序。

status 參數(shù)是一個整數(shù)值,返回給調(diào)用進程的父進程。

通常,零狀態(tài)表示正常終止,而非零狀態(tài)可能表示錯誤或異常終止。

以下例子中,exit(0) 將立即終止程序,不會執(zhí)行 printf("After exit() "); 后的代碼。exit(0) 表示正常終止。

#include
#include


int main() {
    printf("Before exit()
");


    // The exit() function performs cleanup actions and terminates the program.
    exit(0);


    // The following code will not be executed.
    printf("After exit()
");


    return 0;
}

2

_exit() 函數(shù)

用法: void _exit(int status)。

_exit() 函數(shù)是一個系統(tǒng)調(diào)用,立即終止調(diào)用的進程,而不執(zhí)行 exit() 所做的清理操作。

它不刷新 I/O 緩沖區(qū),也不關閉打開的文件描述符,并且不調(diào)用使用 atexit() 注冊的函數(shù)。

status 參數(shù)被返回給父進程。

與 exit() 不同,_exit(0) 不會執(zhí)行任何清理動作,而是立即終止程序。與 exit() 不同,_exit() 函數(shù)是一個系統(tǒng)調(diào)用,不執(zhí)行標準庫的清理操作。

#include
#include


int main() {
    printf("Before _exit()
");


    // The _exit() function immediately terminates the program without cleanup.
    _exit(0);


    // The following code will not be executed.
    printf("After _exit()
");


    return 0;
}

3

_Exit() 函數(shù)

用法: void _Exit(int status)。

與 _exit() 類似,_Exit() 是一個系統(tǒng)調(diào)用,它在不執(zhí)行清理操作的情況下立即終止調(diào)用的進程。

_Exit() 的行為類似于 _exit(),但其設計與 exit() 具有相同的函數(shù)簽名。

它在 POSIX 兼容系統(tǒng)中得到標準化。

_Exit(0) 與 _exit(0) 類似,都是立即終止程序。在 POSIX 系統(tǒng)中,_Exit() 是標準化的版本。

#include
#include


int main() {
    printf("Before _Exit()
");


    // The _Exit() function immediately terminates the program without cleanup.
    _Exit(0);


    // The following code will not be executed.
    printf("After _Exit()
");


    return 0;
}

總的來說,exit() 是一個更高級別的函數(shù),在終止之前執(zhí)行各種清理操作,而 _exit() 和 _Exit() 是低級別的函數(shù),立即終止進程而不執(zhí)行清理操作。_Exit() 是 POSIX 兼容系統(tǒng)中對 _exit() 的標準化版本。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:exit()、_exit()和_Exit()終止程序運行

文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux的exit命令用途說明

    exit命令用于退出當前shell,在shell腳本中可以終止當前腳本執(zhí)行
    發(fā)表于 07-17 07:07

    linux的exit()與_exit()有什么區(qū)別

    void exit(int staus) 函數(shù), 在頭文件 #include void _exit(int status) 函數(shù),在頭文件 #include 中
    發(fā)表于 07-23 07:36

    STM32筆記之 EXIT(外部中斷)精選資料分享

    /O映像三、中斷服務四、配置流程(代碼解析)五、中斷函數(shù)處理在上一篇STM32筆記之 GPIO引腳中,有用到 EXIT外部中斷作為 Key輸入觸發(fā),所以本篇...
    發(fā)表于 08-05 06:10

    STM32F0中外部中斷EXIT

    推薦分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到人工智能的隊伍中?、?、概述EXIT外部中斷在使用到按鍵或者開關控制等應用中比較常見,低功耗中斷喚醒也是很常見
    發(fā)表于 08-13 07:58

    定時器外部中斷(EXIT)概念

    文章目錄定時器中斷外部中斷(EXIT)概念與介紹使用的介紹使能IO時鐘&基本配置中斷優(yōu)先級(NVIC)中斷服務函數(shù)編寫中斷處理的回調(diào)函數(shù)HAL_GPIO_EXTI_Callback相關概念
    發(fā)表于 08-16 07:01

    EXIT外部中斷按鍵的誤觸發(fā)問題

    EXIT外部中斷 按鍵的誤觸發(fā)問題最近在調(diào)試按鍵作為外部中斷exti進行觸發(fā)動作,發(fā)現(xiàn)每次...
    發(fā)表于 08-16 06:46

    STM32之EXIT外部中斷的功能有哪些

    EXIT控制的原理是什么?EXIT外部中斷的功能有哪些?
    發(fā)表于 10-27 07:45

    如何對EXIT的外部中斷進行配置

    EXIT外部中斷是什么?EXIT外部中斷有哪些功能?如何對EXIT的外部中斷進行配置
    發(fā)表于 11-16 06:21

    基于EXIT圖和自適應微粒群算法的度分布對優(yōu)化方法

    綜合EXIT 圖法和自適應微粒群優(yōu)化(APSO)算法的優(yōu)點,該文提出了一種基于EXIT 圖和APSO 算法的非正則LDPC 碼度分布對優(yōu)化方法。該方法設計了衡量EXIT 曲線匹配程度的全局代價函數(shù),并
    發(fā)表于 11-10 15:30 ?11次下載

    STM32F0xx_ EXIT中斷配置詳細過程

    STM32F0xx_EXIT中斷配置詳細過程
    的頭像 發(fā)表于 04-07 14:37 ?3282次閱讀
    STM32F0xx_ <b class='flag-5'>EXIT</b>中斷配置詳細過程

    STM32_ EXIT中斷

    STM32_EXIT中斷
    的頭像 發(fā)表于 04-08 11:12 ?3807次閱讀
    STM32_ <b class='flag-5'>EXIT</b>中斷

    Shell內(nèi)建命令:exit命令

    1.簡介 exit 命令是 Shell 內(nèi)建命令,用于退出當前 Shell 進程。 2.命令格式 exit ?N (1)狀態(tài)碼 N 的范圍是 0-255,一般情況下,0 表示正常退出,非零表示異常
    的頭像 發(fā)表于 02-02 10:45 ?3965次閱讀

    51單片機匯編學習例程(2)——Exit中斷篇

    2.ASM2_Exit: 外部中斷控制LED亮滅
    發(fā)表于 11-22 14:36 ?31次下載
    51單片機匯編學習例程(2)——<b class='flag-5'>Exit</b>中斷篇

    瑞薩e2studio(6)----EXIT

    瑞薩e2studio.6--EXIT概述硬件準備外部中斷接口新建工程工程模板保存工程路徑芯片配置工程模板選擇LED燈配置EXIT配置EXIT屬性配置工程文件R_ICU_ExternalIrqOpen
    發(fā)表于 12-20 19:02 ?6次下載
    瑞薩e2studio(6)----<b class='flag-5'>EXIT</b>

    瑞薩e2studio(9)----EXIT

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行EXIT檢測,之后通過按鍵形式以及燈的亮滅形式進行演示。
    的頭像 發(fā)表于 11-15 10:53 ?1067次閱讀
    瑞薩e2studio(9)----<b class='flag-5'>EXIT</b>
    RM新时代网站-首页