当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 26 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 给linux下的c程初学者
帖子发表于 : 2011-04-16 13:57 
头像

注册: 2010-10-21 18:55
帖子: 35
送出感谢: 0 次
接收感谢: 0 次
现在大学里都是用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的详细用法参见这里


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 14:15 

注册: 2010-02-01 19:24
帖子: 312
送出感谢: 0 次
接收感谢: 2
mark


_________________
archlinux + openbox

个人blog: http://www.lifeintheweb.tk


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 14:16 
头像

注册: 2011-02-25 23:23
帖子: 3413
送出感谢: 3
接收感谢: 3
应试教育害死人...


_________________
The storm of world shall soon vanish
With the days of darknes gone
The sun shall shine upon the ground
To peace shall the world return


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 14:20 
头像

注册: 2010-10-07 14:23
帖子: 33999
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
:em11


_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 15:03 

注册: 2008-10-08 22:01
帖子: 660
送出感谢: 0 次
接收感谢: 2
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


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 15:10 
头像

注册: 2010-04-23 17:11
帖子: 50
送出感谢: 0 次
接收感谢: 0 次
其实学校一点选择Linux的机会都不给我,一切都是晕到死,机房病毒泛滥,每次从机房回来后都要我在Linux下杀毒 :em20


_________________
每夜唱不停,为了心中那点未了情


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 15:44 
头像

注册: 2009-01-06 15:18
帖子: 13005
地址: 人间
送出感谢: 1
接收感谢: 24
thorne 写道:
5年前学习C语言的方式真的很不好
那时去学校机房里 就一个TC
一点都不懂整个过程 只知道在那个蓝色框框里输入教材的code
然后点击图标


依旧继续中。


_________________
“有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 16:45 

注册: 2010-05-01 15:23
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
:em11 正学LINUX C,我倒觉得现在许多学校用了VC了,毕竟人家老瘟家大业大嘛,还有就是我国政府考试用的是什么,你知道的.... :em09


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 18:51 

注册: 2009-07-04 16:18
帖子: 302
送出感谢: 0 次
接收感谢: 0 次
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.


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 18:54 
头像

注册: 2011-01-26 17:52
帖子: 9013
地址: 万林丛中的一抹浓绿,夹带落日余晖的安祥
送出感谢: 0 次
接收感谢: 0 次
马了个克


_________________
Just do it, you will succeed!


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 18:56 

注册: 2008-11-14 20:35
帖子: 259
送出感谢: 0 次
接收感谢: 1
我们大一上就用UNIX学C,那时我连电脑是啥样都还不清楚,初中没见过电脑,高中的计算机课名存实亡,又没去过网吧……
所以我windows中毒不深


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 20:33 
头像

注册: 2007-03-02 17:36
帖子: 7281
送出感谢: 3
接收感谢: 99
支持,不过vi对初学者应该还有点难度,尤其是没装vim的,还是用gedit更容易上手。


_________________
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-16 20:36 
头像

注册: 2010-10-07 14:23
帖子: 33999
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
kate也不错,能直接调用终端。
我们教学用的VC6.0 :em06


_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-17 9:42 

注册: 2010-11-02 18:14
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
Mark
:em01


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 给linux下的c程初学者
帖子发表于 : 2011-04-17 10:30 

注册: 2009-09-17 20:10
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
用linux写c的路过, :em02


_________________
不停止自己的思考


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 26 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译