gpt4 book ai didi

c - 我应该怎么做才能从命令行获取 c 程序的整个返回值?

转载 作者:太空狗 更新时间:2023-10-29 17:23:05 24 4
gpt4 key购买 nike

我有一个简单的 C 程序 "./my_program"

#include <stdio.h>

int main (int argc , char **argv) {


unsigned int return_result = 0x474;
printf("return_result = %d = 0x%x \n",return_result,return_result);
return return_result;

}

因此,该程序打印:

return_result = 1140 = 0x474 

我想在 bash 脚本中获取 c 程序的返回值。根据这个链接 Anyway to get return value of c program from command line?我应该从 $? 获取这个变量?

但是当我启动这样的命令时,后果是:

./my_program
echo $?

我明白了

116

很明显,116 = 0x74(最低字节)。但我想获得整个 unsigned int 值。怎么了?我应该怎么做才能从命令行获取 c 程序的整个返回值?这不仅仅是关于“unsigned int”类型。如果我创建了一些复杂的类型,例如 - 结构,我应该怎么做。

我试过这个:

return ((unsigned int) return_result_section_size);

它不起作用。

最佳答案

Unix 上的退出代码是 restricted to a single byte .如果你想输出更多,你可以将它写入标准输出或文件。

那么为什么 C 标准规定 main 返回 int 而不是 char?我不知道...

关于c - 我应该怎么做才能从命令行获取 c 程序的整个返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10479446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com