簡體   English   中英

我該怎么做才能從命令行獲取c-program的整個返回值?

[英]What should I do to get the whole return value of c-program from command line?

我有一個簡單的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-program的返回值。 根據這個鏈接無論如何從命令行獲取c程序的返回值? 我應該從$得到這個變量?

但是當我發起這樣的命令后果:

./my_program
echo $?

我明白了

116

很明顯,116 = 0x74(最低字節)。 但我想獲得整個unsigned int值。 怎么了? 我該怎么做才能從命令行獲取c-program的整個返回值? 這不僅僅是“unsigned int”類型。 如果我創建了一些復雜的類型,我應該怎么做,例如, - 結構。

我試過這個:

return ((unsigned int) return_result_section_size);

它不起作用。

Unix上的退出代碼僅限於一個字節 如果要輸出更多,可以將其寫入stdout或文件。

那么為什么C標准判斷main返回int而不是char 我不知道...

從main返回的值可以使用echo $打印? 完成執行后。 main的返回值通常用於指示執行狀態。 最大值限制為512.如果您嘗試返回大於512的值,則將在$?中設置512%的val。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM