关于用gcc进行c语言编译的一些问题
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 29
- 注册时间: 2010-02-17 22:45
关于用gcc进行c语言编译的一些问题
其实我自己都感觉有点乱~;
以前在windows下用VC编译的时候 习惯性的用void main();
现在学习用gcc 编译文件我用的是void main 它就会提示我(编译时开启里-Wall)
warning: return type of ‘main’ is not ‘int’
In function ‘main’:
开始不明白什么情况~~就到网上查 查的结果是说 void main本身就是错误的根本就没有这样的,
main()的默认返回值是int型的;
然后我没办法了~~我就用int main() 在语句结束之前我还会加上 return 0;
有的是后这样就可以了 ~但是有时候又会弹出错误
warning: return type of ‘main’ is not ‘int’ 有点小纠结。。弄不明白怎么回事~
还有就是我在gcc中调用数学函数 网上搜索的结果是 调用数学函数库 需要在编译的时候加入-lm
比如我编译文件10.c gcc -Wall 10.c -o -lm
但是还是弹出里错误(.text+0xcc): undefined reference to `sqr';
哪位大虾能给解释下啊~非常感谢
以前在windows下用VC编译的时候 习惯性的用void main();
现在学习用gcc 编译文件我用的是void main 它就会提示我(编译时开启里-Wall)
warning: return type of ‘main’ is not ‘int’
In function ‘main’:
开始不明白什么情况~~就到网上查 查的结果是说 void main本身就是错误的根本就没有这样的,
main()的默认返回值是int型的;
然后我没办法了~~我就用int main() 在语句结束之前我还会加上 return 0;
有的是后这样就可以了 ~但是有时候又会弹出错误
warning: return type of ‘main’ is not ‘int’ 有点小纠结。。弄不明白怎么回事~
还有就是我在gcc中调用数学函数 网上搜索的结果是 调用数学函数库 需要在编译的时候加入-lm
比如我编译文件10.c gcc -Wall 10.c -o -lm
但是还是弹出里错误(.text+0xcc): undefined reference to `sqr';
哪位大虾能给解释下啊~非常感谢
-
- 帖子: 29
- 注册时间: 2010-02-17 22:45
Re: 关于用gcc进行c语言编译的一些问题
=。=没人回复。。。求答案。。。求大虾帮助
- 灰色小狼
- 帖子: 4585
- 注册时间: 2008-12-06 10:38
- 系统: Arch
Re: 关于用gcc进行c语言编译的一些问题
调用数学函数库只要#include <math.h>就行了,只听说过sqrt,没听说过sqr
main那个木见过
main那个木见过
-
- 帖子: 29
- 注册时间: 2010-02-17 22:45
Re: 关于用gcc进行c语言编译的一些问题
sqrt。。是我弄错了。。。灰色小狼 写了:调用数学函数库只要#include <math.h>就行了,只听说过sqrt,没听说过sqr
main那个木见过
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- crazyyujie
- 帖子: 159
- 注册时间: 2010-04-07 17:49
- 联系:
Re: 关于用gcc进行c语言编译的一些问题
int main;
然后 return 1;
不就可以了。
然后 return 1;
不就可以了。
-
- 帖子: 270
- 注册时间: 2009-11-11 23:13
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7353
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: 关于用gcc进行c语言编译的一些问题
标准是int main (int argc, char * argv[]) 吧
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
-
- 帖子: 101
- 注册时间: 2010-12-11 12:09
Re: 关于用gcc进行c语言编译的一些问题
int main(){
return 0;
}
我是这么写的
gcc -Wall a.c
生成a.out
return 0;
}
我是这么写的
gcc -Wall a.c
生成a.out
-
- 帖子: 10
- 注册时间: 2011-03-29 22:46
Re: 关于用gcc进行c语言编译的一些问题
main的问题是因为标准化的问题,最新的标准就上写的就是int main(),最后retren 0;VC支持老版本的写法,gcc比较严格,不行的话就用标准就可以了,最后有用标准的习惯。
分享是一种态度。
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 关于用gcc进行c语言编译的一些问题
没碰到过你说的有时候,除非前面写的还是 void main() ,后面又写了 return 0 。仔细看看。gl4215269 写了: 然后我没办法了~~我就用int main() 在语句结束之前我还会加上 return 0;
有的是后这样就可以了 ~但是有时候又会弹出错误
warning: return type of ‘main’ is not ‘int’ 有点小纠结。。弄不明白怎么回事~