如何在WSL中查看C程序的退出码?
在WSL中查看C程序的退出码方法
在WSL的bash环境里,查看C程序的退出码非常简单,核心是用shell内置的状态变量,具体步骤如下:
编译程序:先用gcc编译你的C代码,你提到的
-Wall(开启所有警告)和-O3(最高级优化)都是编译选项,用法和平时一致:gcc -Wall -O3 your_code.c -o your_program运行程序:执行编译生成的可执行文件:
./your_program查看退出码:程序运行结束后,立即执行以下命令,就能获取上一个程序的退出码:
echo $?
举个实际例子:
写一个返回指定值的C程序:
#include <stdio.h> int main() { printf("测试退出码\n"); return 123; // 自定义退出码 }
编译运行后执行echo $?,终端会输出123,就是你return语句里设置的退出值。
补充说明:
- 退出码的合法范围是0-255,如果return的数值超出这个范围,系统会自动对256取模得到实际退出码。
- 如果程序因异常终止(比如段错误、信号中断),
$?会返回对应错误码,比如139通常表示程序触发了段错误。 - 这个方法不止适用于WSL,所有类Unix系统的shell(比如Linux原生终端、macOS终端)都通用。
内容的提问来源于stack exchange,提问作者Phauxtrot
相关产品推荐
相关产品推荐

