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