2
A
回答
14
因爲你」不要使用-Wall標誌。當你這樣做時,你應該得到:
foo.c:1: warning: return type defaults to ‘int’
foo.c: In function ‘main’:
foo.c:1: warning: implicit declaration of function ‘printf’
foo.c:1: warning: incompatible implicit declaration of built-in function ‘printf’
foo.c:1: warning: control reaches end of non-void function
2
你忘了啓用警告編譯:
gcc -Wall ...
1
你的主函數什麼都不返回。所以在void main()中修改。 通常是:
int main() { printf("Hello world"); return 0; }
+0
一個小評論:我從Gman在這裏學到了,即使它是* int main(){..} * return 0;不需要。不知道它是否會產生警告或不適應:) – Default 2010-04-01 11:11:07
0
由於這是合法的ANSI C89,所以不會產生警告。隱式假定沒有指定返回類型的函數返回int
。
如果您希望編譯爲C89,但要注意使用隱式int,則應將-Wimplicit-int
作爲命令行參數(或-Wall
,這會啓用該警告以及其他許多警告)。
如果要編譯爲C99,則應該通過-std=c99
和-pedantic-errors
,如果使用隱式int將導致編譯器發出錯誤。
相關問題
- 1. Mysql警告問題?
- 2. 目標C類 - 警告問題
- 3. ID沒有警告?
- 4. 警告:沒有先前的聲明 - C++
- 5. 警告:聲明沒有效果(C++)
- 6. 警告:語句沒有效果(C++)
- 7. 有問題的類的使用警告
- 8. 問題有鑑於內存警告
- 9. 我沒有使用任何啓動圖像警告問題
- 10. Xcode:沒有在問題導航器中顯示警告
- 11. 警告消息的問題
- 12. PHP會話警告問題
- 13. sprintf警告 - 編碼問題
- 14. Iphone內存警告問題
- 15. JavaScript警告在asp.net問題
- 16. UIViewController內存警告問題
- 17. Lint警告問題559
- 18. Xcode中 - 警告問題
- 19. PHPDocumentor日期問題警告
- 20. log4j警告問題 - apache commons
- 21. jquery警告沒有出現
- 22. HMAC_KEY沒有設置警告
- 23. PDO - 沒有任何警告
- 24. autoreleased沒有池警告?
- 25. C memset警告
- 26. 警告:用C
- 27. C++ _CRT_SECURE_NO_WARNINGS警告
- 28. SQlite C警告
- 29. 警告:用C
- 30. 警告:在C++
我沒有談論其他Warnngs ..我只是想知道爲什麼沒有像「返回類型的主要是int」的警告,即使我編譯使用gcc -Wall – 2010-04-01 06:57:26
抱歉,我現在得到它..最後一行的警告是爲main()本身 thanxx ... – 2010-04-01 07:01:29
@Grv:如果它回答你的問題,請不要忘記接受一個答案(點擊選中標記)。 – 2010-04-01 10:36:24