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. Xcode中 - 警告问题
- 5. UIViewController内存警告问题
- 6. PHPDocumentor日期问题警告
- 7. sprintf警告 - 编码问题
- 8. JavaScript警告在asp.net问题
- 9. log4j警告问题 - apache commons
- 10. Lint警告问题559
- 11. HMAC_KEY没有设置警告
- 12. autoreleased没有池警告?
- 13. PDO - 没有任何警告
- 14. jquery警告没有出现
- 15. C memset警告
- 16. SQlite C警告
- 17. 警告:用C
- 18. C++ _CRT_SECURE_NO_WARNINGS警告
- 19. 警告()在C++
- 20. 只有当没有错误GCC警告
- 21. 有没有办法禁用xml警告?
- 22. 有没有办法隐藏PHP的警告不访问php.ini?
- 23. 问题与警告框的JavaScript
- 24. iOS模拟内存警告问题
- 25. jqDialog警告问题换行符(\ n)
- 26. 编译指示基础 - 警告问题
- 27. 内存不足警告问题
- 28. 简单的PHP警告问题?
- 29. 富达警告呈现的问题
- 30. 问题在Java代码警告
我没有谈论其他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