给linux下的c程初学者

为当前最终发行版之前的所有版本提供支持
头像
jimcorner
帖子: 35
注册时间: 2010-10-21 18:55
送出感谢: 0
接收感谢: 0

给linux下的c程初学者

#1

帖子 jimcorner » 2011-04-16 13:57

现在大学里都是用turbo c 2.0教c程的吧,可是到了linux下没法用tc了。初学者由于一种先入为主的心理,一旦没有找到类似tc的替代物很容易认为linux下很难编c程。
实际不是这样,linux就是一个c程写成的系统,原生支持c,因为和windows的软件设计理念不同没有tc不代表linux差。下面就介绍适合初学者的linux编c程的方法。
首先要抛弃windows带给你的思维定势,在linux下编c程不是只用一种工具,而是分为编辑(用vi,emacs,gedit),编译(用gcc )和调试(用gdb)这三个部件。
对于ubuntu10.10用户来说vi,gedit,gcc,gdb是装好了的,可以直接编程,不用装什么软件。
1.编辑
vi大家都会用吧,这里就不多说了。直接vi /home/mint/c/helloworld.c就好了。关于配置tab和自动对齐就自己google去吧。
注意:后缀要为.c,否则开不了语法高亮。
2.编译
对于初学者只要简单的编译就可以了。当写好了helloworld.c后cd到那个目录下去,然后gcc -g -o helloworld helloworld.c就好了,如果你编的没有错误的话。
运行:./helloworld
解释:-g这个参数是为第三步调试做准备的; -o是把生成的.obj可执行文件命名为你想要的名字,这个例子中我命名为了helloworld
3.调试
很经常的情况是我编译好了可是出了逻辑错误,这时就需要gdb了
先运行gdb
mint@mint-ThinkPad ~/c $ gdb helloworld
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/jim/c/helloworld...done.
(gdb)

gdb功能很多,但作为初学者只需要知道 设置断点,单步,设置watch 就好了
进入了gdb之后,运行程序只要用run就可以了
(gdb)run
a>断点
使用break命令:比如要把断点设在第三行break 3
查看断点:info break
(gdb)break 3
b>单步
设置了断点后运行到断点处,然后使用next单步运行
(gdb)break 3
(gdb)run
(gdb)next

c>设置watch
在运行之后使用watch命令设置watch,如watch n
break 3
(gdb)run
(gdb)next
(gdb)watch n
ps.关于gdb的详细用法参见这里
zjy3186511
帖子: 312
注册时间: 2010-02-01 19:24
送出感谢: 0
接收感谢: 2 次

Re: 给linux下的c程初学者

#2

帖子 zjy3186511 » 2011-04-16 14:15

mark
archlinux + openbox

个人blog: http://www.lifeintheweb.tk
头像
pointer指针
帖子: 3422
注册时间: 2011-02-25 23:23
送出感谢: 0
接收感谢: 1 次

Re: 给linux下的c程初学者

#3

帖子 pointer指针 » 2011-04-16 14:16

应试教育害死人...
机器学习入门玩家
外语系数学最好的 数学系代码最好的 计算机系英语最好的
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 给linux下的c程初学者

#4

帖子 月下叹逍遥 » 2011-04-16 14:20

:em11
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
thorne
帖子: 660
注册时间: 2008-10-08 22:01
送出感谢: 0
接收感谢: 2 次

Re: 给linux下的c程初学者

#5

帖子 thorne » 2011-04-16 15:03

5年前学习C语言的方式真的很不好
那时去学校机房里 就一个TC
一点都不懂整个过程 只知道在那个蓝色框框里输入教材的code
然后点击图标

代码: 全选

其实我是个Debian GNU/Linux用户
Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969
头像
GoodLuckyBoy
帖子: 50
注册时间: 2010-04-23 17:11
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#6

帖子 GoodLuckyBoy » 2011-04-16 15:10

其实学校一点选择Linux的机会都不给我,一切都是晕到死,机房病毒泛滥,每次从机房回来后都要我在Linux下杀毒 :em20
每夜唱不停,为了心中那点未了情
头像
remeber
论坛版主
帖子: 13005
注册时间: 2009-01-06 15:18
来自: 人间
送出感谢: 1 次
接收感谢: 22 次

Re: 给linux下的c程初学者

#7

帖子 remeber » 2011-04-16 15:44

thorne 写了:5年前学习C语言的方式真的很不好
那时去学校机房里 就一个TC
一点都不懂整个过程 只知道在那个蓝色框框里输入教材的code
然后点击图标
依旧继续中。
“有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞
shhlian
帖子: 39
注册时间: 2010-05-01 15:23
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#8

帖子 shhlian » 2011-04-16 16:45

:em11 正学LINUX C,我倒觉得现在许多学校用了VC了,毕竟人家老瘟家大业大嘛,还有就是我国政府考试用的是什么,你知道的.... :em09
CRAZY_PALADIN
帖子: 302
注册时间: 2009-07-04 16:18
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#9

帖子 CRAZY_PALADIN » 2011-04-16 18:51

remeber Jiraiya 写了:
thorne 写了:5年前学习C语言的方式真的很不好
那时去学校机房里 就一个TC
一点都不懂整个过程 只知道在那个蓝色框框里输入教材的code
然后点击图标
依旧继续中。
我们这倒是换了VC6.0了,不过,当然了,其他还是一样
Freedom is the power to decide what your computer does, and the only way to have this freedom is to know what your computer is
doing. Freedom is a computer that is without secrets, one where everything can be known if you care enough to find out.
头像
SmallV
论坛版主
帖子: 9016
注册时间: 2011-01-26 17:52
来自: 万林丛中的一抹浓绿,夹带落日余晖的安祥
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#10

帖子 SmallV » 2011-04-16 18:54

马了个克
Just do it, you will succeed!
dynamic0603
帖子: 259
注册时间: 2008-11-14 20:35
送出感谢: 0
接收感谢: 1 次

Re: 给linux下的c程初学者

#11

帖子 dynamic0603 » 2011-04-16 18:56

我们大一上就用UNIX学C,那时我连电脑是啥样都还不清楚,初中没见过电脑,高中的计算机课名存实亡,又没去过网吧……
所以我windows中毒不深
头像
懒蜗牛Gentoo
论坛版主
帖子: 7284
注册时间: 2007-03-02 17:36
送出感谢: 0
接收感谢: 95 次

Re: 给linux下的c程初学者

#12

帖子 懒蜗牛Gentoo » 2011-04-16 20:33

支持,不过vi对初学者应该还有点难度,尤其是没装vim的,还是用gedit更容易上手。
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 给linux下的c程初学者

#13

帖子 月下叹逍遥 » 2011-04-16 20:36

kate也不错,能直接调用终端。
我们教学用的VC6.0 :em06
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
hit.cheng
帖子: 14
注册时间: 2010-11-02 18:14
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#14

帖子 hit.cheng » 2011-04-17 9:42

Mark
:em01
linux_z
帖子: 22
注册时间: 2009-09-17 20:10
送出感谢: 0
接收感谢: 0

Re: 给linux下的c程初学者

#15

帖子 linux_z » 2011-04-17 10:30

用linux写c的路过, :em02
不停止自己的思考
回复

回到 “老旧版本支持”