[原创]菜鸟用gcc编c程序之路,望对后来者有启发

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
love214925
帖子: 221
注册时间: 2008-07-21 0:26
来自: 郑州-北环-华北水利水电学院

[原创]菜鸟用gcc编c程序之路,望对后来者有启发

#1

帖子 love214925 » 2008-07-26 0:27

http://wiki.ubuntu.org.cn/Gcchowto
http://wiki.ubuntu.org.cn/C_Cpp_IDE

今天第一次用ubuntu编程,搞了好长时间,想跟windows下一样通过图形化的界面来简单的来完成编程,可实验了好长时间把IDE(不知道什么意思,嘿嘿)装上,可按照大虾们给出的方法就是编不出来,是我太笨了吧于是就想回到linux的基本方法:终端!哈哈,经过学习终于成功啦,不说了,进入正题!
先是去网上找教程,找到gcc的使用方法,介绍的很详细,可最基本的不知道去那里去执行gcc -g -o name name.c,一google才知道这么简单的问题都让我复杂化啦,从终端直接(即cd)进那些.c的程序目录在执行程序啊,不知道当时想什么了,哈哈。
可问题有来了,在调用math函数是提示函数不能用: undefined reference to `sqrt',不知道什么意思,再一搜才知道gcc -g -o name name.c 后面要加上-lm即是gcc -g -o name name.c -lm 此时才大功告成,终于出来了一些下程序。
另:发现在windows里编时的
void main()
要写成
main(void)
我是菜鸟一只,望大虾门指点。
上次由 love214925 在 2008-07-27 18:42,总共编辑 1 次。
chancekang
帖子: 23
注册时间: 2007-12-17 10:36

#2

帖子 chancekang » 2008-07-26 0:44

IDE = Integrated Development Environment 集成开发环境

谢谢分享
头像
dickfisch
帖子: 110
注册时间: 2007-10-22 17:40

#3

帖子 dickfisch » 2008-07-26 4:55

同样菜鸟一只,与lz共勉。

void main () 应该是可以的吧。不过我都是写int main ()的。
jayscorpio
帖子: 136
注册时间: 2008-07-02 18:33
来自: Shanghai
联系:

#4

帖子 jayscorpio » 2008-07-26 7:02

void main()应该没有道理不可以的。而且确实int main()跟标准些
2ine
帖子: 200
注册时间: 2008-05-02 15:55

#5

帖子 2ine » 2008-07-26 9:54

main(void)
这个有必要么。。

话说我曾经学完Delphi学C,
结果一条 int Main()
老是编译不通过,还郁闷了好长时间。。
头像
JangMunho
帖子: 1347
注册时间: 2006-01-18 12:55
来自: 也许真的没有人理解

#6

帖子 JangMunho » 2008-07-26 11:51

dickfisch 写了:同样菜鸟一只,与lz共勉。

void main () 应该是可以的吧。不过我都是写int main ()的。
void main()在C++里不可以(与具体编译器有关,g++不可以),在C里是可以的。
main()的返回值用于返回程序完成状态。
MacBook Pro 15" User
Cocoa Programmer
头像
love214925
帖子: 221
注册时间: 2008-07-21 0:26
来自: 郑州-北环-华北水利水电学院

#7

帖子 love214925 » 2008-07-26 15:01

哦 那用GCC也可以编译C++啦?
嘿嘿,不好意思,菜鸟
头像
JangMunho
帖子: 1347
注册时间: 2006-01-18 12:55
来自: 也许真的没有人理解

#8

帖子 JangMunho » 2008-07-26 15:31

love214925 写了:哦 那用GCC也可以编译C++啦?
嘿嘿,不好意思,菜鸟
要用g++,而不是gcc,装好了build-essential的话就都有了。
提示一下:
1、安装工具indent,这个工具可以使你的代码自动缩进,执行时是这样的:
indent xxxx.c
2、-lm的意思是连接数学库,数学库所在的位置是:/usr/lib/libm.a
注意到这个命名方式:lib+m+.a
同样道理,比如curses库是libcurses.a,那么链接的时候就是-lcurses。
MacBook Pro 15" User
Cocoa Programmer
头像
love214925
帖子: 221
注册时间: 2008-07-21 0:26
来自: 郑州-北环-华北水利水电学院

#9

帖子 love214925 » 2008-07-27 12:07

谢谢jiang啦
头像
黑色十三少
帖子: 29
注册时间: 2008-06-25 12:56

#10

帖子 黑色十三少 » 2008-07-27 18:36

love214925 写了:哦 那用GCC也可以编译C++啦?
嘿嘿,不好意思,菜鸟
编译c++用g++
:lol: 我也是菜鸟,与君共勉
头像
黑色十三少
帖子: 29
注册时间: 2008-06-25 12:56

#11

帖子 黑色十三少 » 2008-07-27 18:37

用int main()更标准吧?
头像
Bit_Lee
帖子: 81
注册时间: 2008-07-18 23:16
系统: Ubuntu

#12

帖子 Bit_Lee » 2008-07-27 23:00

些楼上各位了,linux就是有这个好处,编程好!
让我们互相勉励吧!
我相信linux会笑傲"江湖"的! : P
头像
love214925
帖子: 221
注册时间: 2008-07-21 0:26
来自: 郑州-北环-华北水利水电学院

#13

帖子 love214925 » 2008-07-29 15:33


原来是这样阿
知道拉
谢谢各位
头像
JangMunho
帖子: 1347
注册时间: 2006-01-18 12:55
来自: 也许真的没有人理解

#14

帖子 JangMunho » 2008-07-29 15:55

黑色十三少 写了:用int main()更标准吧?
这个世界上并没有那么多标准,不过你应该知道,有些编译器不允许在C++代码中出现void main()。
int main是为了返回结束信息,便于程序异常退出时对错误的判断,所以需不需要全在自己。
MacBook Pro 15" User
Cocoa Programmer
头像
love214925
帖子: 221
注册时间: 2008-07-21 0:26
来自: 郑州-北环-华北水利水电学院

#15

帖子 love214925 » 2008-07-30 7:34

JangMunho 写了:
黑色十三少 写了:用int main()更标准吧?
这个世界上并没有那么多标准,不过你应该知道,有些编译器不允许在C++代码中出现void main()。
int main是为了返回结束信息,便于程序异常退出时对错误的判断,所以需不需要全在自己。
这位朋友想必是编程高手吧,以后清您多多指教阿!
嘿嘿,谢啦
学习就是不断失败再胜利的过程!

望大家多多指教,小弟不胜感激!

邮箱:ququanfang@gmail.com
博客:http://hi.baidu.com/love214925
回复