2016-04-13 40 views
2

如何使gcc編譯器報告從整數轉換爲無符號整數? 有沒有一個選項/ arg,我可以傳遞給gcc編譯器來標記出這樣的轉換?如何使海灣合作委員會報告int到uint轉換

+0

你說的是哪轉換?是'unsigned int u = 0;'也是一個整數到無符號的? –

回答

6

使用標誌:-Wconversion它將警告有符號整數和無符號整數之間可能會改變值的轉換。

https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

+0

@AlexLop。我使用g ++ ...但它是奇怪的,在C中工作,但不是在C++中...... – Boiethios

+0

@Morovaille請發佈您正在編譯的代碼,並且該警告沒有收到它。 –

+0

@AlexLop。它不會在C++中捕獲它。在C它的作品:我upvoted的答案。 – Boiethios

3

您可以使用-Wconversion

-Wconversion警告對可能改變的值隱式轉換。 這包括......; signed和unsigned之間的轉換,如 unsigned ui = -1。

或者,更具體地,-Wsign-conversion

-Wsign-conversion警告用於可以改變整數值的符號,如分配符號整數表達 爲無符號整數變量隱式轉換。一個明確的演員沉默 警告。在C中,該選項也由-Wconversion啓用。

參考:https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options

相關問題