[英]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.