Rss & SiteMap

曙海教育集团论坛 http://www.bjzhda.cn

曙海教育集团论坛
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:Linux系统下的C语言开发都需要学些什么

1楼
wangxinxin 发表于:2010-12-10 9:49:02
一、工具的使用 4R]E4c9_-t0

E V{ I4_tJ.w0  1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。 IT我最牛-程序员的技术讨论与分享园地cZP G7[GU} n

IT我最牛-程序员的技术讨论与分享园地LP'FkE1ue p

  2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。

r!G ? [0| dG0L0

j6J N9b&Uq0  3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。 IT我最牛-程序员的技术讨论与分享园地&~1WQZ"N Qen_

IT我最牛-程序员的技术讨论与分享园地3|#V:@-b;t%c\

  4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。

f(V4}T~O0

!g*nDa\*pdt`_ Oe0  二、linux/unix系统调用与标准C库 IT我最牛-程序员的技术讨论与分享园地r A$sj8b+C

/E_4e xI"P'x0  系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。

}M_3GB'p:Q0IT我最牛-程序员的技术讨论与分享园地wpWK4kkD&Ip

  三、库的学习 IT我最牛-程序员的技术讨论与分享园地Nmjz.@

[]4b,Vs$mF`0  无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。 IT我最牛-程序员的技术讨论与分享园地 H r"H` W

IT我最牛-程序员的技术讨论与分享园地;A2v`'^5Zb

  1、glib库

"MX-iuG'w:b0

H L/IQ+kz&u \~8D0  glib 库是gtk+和gnome的基础库,并具是跨平台的,在linux、unix和windows下都可以用。glib库对于linux平台开发的影响就像 MFC对windows平台开发的影响一样,很多开源项目都大量的使用了glib库,包括gimp、gnome、gaim、evolution和 linux下的集群软件heartbeat。因为glib库自带有基本的数据结构实现,所以在学习glib库的时候可以顺便学习一下基本的数据结构(包括链表、树、队列和hash表)。 IT我最牛-程序员的技术讨论与分享园地"?3w%X I_D-j"N~ ~e5Z

)R/vZ,w U$o ]L0  2、libxml库 IT我最牛-程序员的技术讨论与分享园地u*t%k Xp@]0KA2cE7^

IT我最牛-程序员的技术讨论与分享园地E$RdK)B7i.Q+i&_;E:f

  libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。

z+zYDk~0IT我最牛-程序员的技术讨论与分享园地(|;d ~"c~g

  3、readline库 IT我最牛-程序员的技术讨论与分享园地(D|;NZ |W-KN

ka'{ rGp-|~0  readline 库是bash shell用的库,如果要开发命令行程序,那么使用readline库可以减少很多工作量,比如bash里的命令行自动补全,在readline里就已经有实现,当然你也可以用自己的实现替代库的行为。readline库有很多网站介绍的,只要google一下readline就可以找到一堆了。

fS} bM-{3h0

Q L i#`:p@DGSmP0  4、curses库 IT我最牛-程序员的技术讨论与分享园地4k]LL$[@E{

IT我最牛-程序员的技术讨论与分享园地R8Z5l1L)Z!Y

  curses 库以前是vi程序的一部分,后来从vi里提取出来成为一个独立的库。curses库对于编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出,改变终端字体的颜色和终端模式。linux下的curses库用的是GNU实现的ncurses(new curses的意思)。

%D a s/JY@)} S0IT我最牛-程序员的技术讨论与分享园地.F L9|@uo rPE

  5、gtk+和KDE库

W u4r i.BttSg+_0IT我最牛-程序员的技术讨论与分享园地a7g/V F8H7j$h8l p

  这两个库是开发GUI应用程序的基础库,现在linux下的大部份GUI程序都是基于这两个库开发的,对于它们 的学习也是很有必要的。

_%p9M_|,xi.j X0IT我最牛-程序员的技术讨论与分享园地MV0um$p(`Q/?

  四、网络的学习 IT我最牛-程序员的技术讨论与分享园地{ }r?0W*Bo;vw

IT我最牛-程序员的技术讨论与分享园地*b.GLX{i2w

  网络这个东西太宽了,推荐学习资料steven先生的UNIX网络编程(简称UNP)和TCP/IP协议详解,更进一步的话可以学习使用libnet编写网络程序

共1 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2009 曙海教育集团
Powered By 曙海教育集团 Version 2.2
Processed in .01563 s, 2 queries.