【问题标题】:Display program exit status? [closed]显示程序退出状态? [关闭]
【发布时间】:2020-10-16 15:44:35
【问题描述】:

如果我的 C 程序没有打印出任何东西,它只是返回一个值,我如何使用 gcc 来检查我的程序返回的值是什么? 例如,

gcc test.c

之后我得到一个 a.out,但是,如果我输入“a”,什么都不会显示,因为我的 test.c 不打印任何东西,它只是返回一个值,所以我如何检查我的测试值。 c返回?

【问题讨论】:

  • 操作系统?壳牌?
  • 如果你输入a,我希望你能得到类似a: command not found的东西。 aa.out 不同。如果您想知道程序从 shell 执行时 main 返回的值,请检查 $?
  • 在 Windows 中:参见 shellhacks.com/windows-get-exit-code-errorlevel-cmd-powershell ... 在 bash(可能还有其他 Un*x shell)中:echo $?
  • %ERRORLEVEL% 在 Windows 命令提示符下。

标签: c gcc exit-code


【解决方案1】:

如果您使用像 bash 这样的典型 Linux shell,则程序的退出代码(这是 main 返回的内容)存储在 $? 内置变量中。所以如果你的程序返回 42,你可以这样做:

$ ./a.out
$ echo $?
42

请注意,这是 8 位。它可以存储一个从 0 到 255 的数字。更大的数字会环绕。

在 Windows 上,该变量称为 %ERRORLEVEL%(不区分大小写):

C:\> a.exe
C:\> echo %errorlevel%
42

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    相关资源
    最近更新 更多