簡體   English   中英

將默認int定義為unsigned int

[英]Define the default int to unsigned int

我( 如果可以 )如何將默認int變量(在特定程序中)設置為unsigned int?

我的意思是,如果int是在程序中編寫的,則編譯器會將其視為unsigned int

我的編譯器是gcc 4.6.2

編輯:我無權觸摸代碼。

您不能更改int的默認符號,因為根據定義它是帶符號的類型(第6.2.5 / 4節)。 考慮一下main函數,該函數必須返回int類型(第5.1.2.2.1 / 1節),如果以某種方式更改了默認符號,則main將返回unsigned int ,這將導致未定義的行為,從而使整個應用程序變得相對無用。

您無法創建宏,因為如果int擴展為unsigned int ,那么如果您在某處聲明了unsigned int ,則最終將得到unsigned unsigned int ,這不是有效的類型。

超級邪惡

#define int unsigned int

可以工作,但是絕對不符合Standard,因此您可能需要使編譯器的嚴格性降低(這是一件壞事)。

您可以做的其他事情是查找並替換所有出現的int (沒有前面的unsigned ),然后將其替換為my_typedefed_int並添加一個

typedef unsigned int my_typedefed_int

這符合標准,但涉及更多,可能無法實現。

暫無
暫無

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

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