我想知道是否有一個很好的方式來避免gcc尖叫printf類型: 'warning:格式'%d'需要'int'類型的參數,但參數12有型富」如何避免有關類型的printf警告
這是很是煩人,當你知道你寫‘的typedef INT富’的地方......
當然,我不是在尋找一個海灣合作委員會補丁([-Wformat]) 。
我想知道是否有避免警告的方法,而不是每次都投射!
我想知道是否有一個很好的方式來避免gcc尖叫printf類型: 'warning:格式'%d'需要'int'類型的參數,但參數12有型富」如何避免有關類型的printf警告
這是很是煩人,當你知道你寫‘的typedef INT富’的地方......
當然,我不是在尋找一個海灣合作委員會補丁([-Wformat]) 。
我想知道是否有避免警告的方法,而不是每次都投射!
如果你有typedef int foo
,gcc不應該警告你。如果gcc
是警告你,有一個公平的機會foo
真的不是一個整數。
+1。如果你問我,這不僅僅是一個公平的機會。 –
*我有'typedef int foo' - 不是因爲我知道*我寫了它,而是因爲我實際上看過了 - 我找不到一組命令行開關,它們會使gcc給我一個警告。當然,它會警告我,雖然它期望一個int,但是我給它一個int。儘管如此,還是有着千萬種可能性。我可能忽略了一種或兩種組合。 –
是的,發佈這個問題太快了......對不起人,gcc已經知道對我們有什麼好處了:) – claf
這有全部未定義的行爲。 請勿使用!
char *fmt;
fmt = "%d%f%p%u\n";
printf(fmt, 1, 1, 1, 1, 1, 1, 1, 1, 1); /* fill stack with values */
我猜你的意思是說你還想獲得其他警告......對嗎?但是,你想獲得有效的printf()警告嗎? – Patrick87
您能告訴我們一個代碼示例,您會在哪裏得到您認爲是虛假的警告? –
@ Patrick87:是的! – claf