You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C/C++是否存在一套标准的退出码编号集合?

C/C++ 项目的退出码标准说明

C/C++项目的退出码没有绝对强制的统一标准,但存在被广泛遵循的行业约定和标准定义:

1. POSIX 通用约定(最常用)

大多数类Unix系统下的C/C++程序会遵循POSIX的退出码规范:

  • 0:表示程序成功执行完成,这是所有程序通用的基本共识。
  • 非0值均代表执行失败,其中部分值有明确含义:
    • 1:一般性错误(比如逻辑错误、普通运行时错误),是最常用的失败退出码。
    • 2:命令行参数解析错误(如传入无效选项、参数数量不匹配)。
    • 126:无法执行目标程序(权限不足、文件不是可执行格式)。
    • 127:找不到指定的命令/程序。
    • 128+n:程序被信号n终止(例如130对应SIGINT,即Ctrl+C终止;139对应SIGSEGV,段错误)。

2. C 标准定义的宏

C标准本身只在<stdlib.h>中定义了两个明确的退出码宏,保证跨平台兼容性:

  • EXIT_SUCCESS:对应值通常为0,用于标识成功退出。
  • EXIT_FAILURE:对应值通常为1,用于标识失败退出。
    建议在代码中使用这两个宏而非直接写数字,提升代码的可读性和可移植性。

3. 项目自定义退出码

很多项目会根据自身需求自定义非0退出码,用来区分不同类型的错误(比如数据库连接失败用3、文件读取失败用4等)。这类自定义值没有统一标准,只要不与POSIX约定的核心值冲突即可,具体需参考项目文档。

内容的提问来源于stack exchange,提问作者user13343959

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:12:04