作者WRlTERT1NA (小妹( ̄⊿ ̄"盛夏之年)
看板Soft_Job
标题[情报] linux下的c开发
时间Tue Jul 7 17:09:02 2009
※ [本文转录自 C_and_CPP 看板]
一、工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。
2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法对於构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。
4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。
二、linux/unix系统调用与标准C库
系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。
三、库的学习
无论是在哪个平台做软件开发,对於库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。
1、glib库
glib 库是gtk+和gnome的基础库,并具是跨平台的,在linux、unix和windows下都可以用。glib库对於linux平台开发的影响就像 MFC对windows平台开发的影响一样,很多开源项目都大量的使用了glib库,包括gimp、gnome、gaim、evolution和 linux下的集群软件heartbeat。因为glib库自带有基本的数据结构实现,所以在学习glib库的时候可以顺便学习一下基本的数据结构(包括链表、树、队列和hash表)。
2、libxml库
libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。
3、readline库
readline 库是bash shell用的库,如果要开发命令行程序,那麽使用readline库可以减少很多工作量,比如bash里的命令行自动补全,在readline里就已经有实现,当然你也可以用自己的实现替代库的行为。readline库有很多网站介绍的,只要google一下readline就可以找到一堆了。
4、curses库
curses 库以前是vi程序的一部分,後来从vi里提取出来成为一个独立的库。curses库对於编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出,改变终端字体的颜色和终端模式。linux下的curses库用的是GNU实现的ncurses(new curses的意思)。
5、gtk+和KDE库
这两个库是开发GUI应用程序的基础库,现在linux下的大部份GUI程序都是基於这两个库开发的,对於它们 的学习也是很有必要的。
四、网络的学习
网络这个东西太宽了,推荐学习资料steven先生的UNIX网络编程(简称UNP)和TCP/IP协议详解,更进一步的话可以学习使用libnet编写网络程序。
http://linux.chinahtml.com/2007/119207208116501.shtml
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.175.47.74
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.175.47.74
※ 编辑: WRlTERT1NA 来自: 202.175.47.74 (07/07 17:09)
1F:推 ledia:这用语看起来真难过..... 07/07 17:17
2F:推 phantom400:只要写出来的东西是对的就好....... 07/07 17:36
3F:→ CsAtPccu:劣2... 这篇是想冲文章数吗.... 07/07 22:14
4F:→ ufoon: 好屌欧 07/07 23:04
5F:→ remmurds:这是哪一国的语言啊? 我怎麽都看不懂= = 07/07 23:17
6F:推 kikiow:这篇写的不错 阿..@@"..可能我等级太低了 07/07 23:30
7F:推 senser:库....好酷喔 是library的意思吗..? 07/07 23:51
8F:→ ardanus:局促一隅,无关全局的一篇 07/07 23:57
9F:推 admon:china的文章吧. 还不错 引导一些topics 07/08 00:07
10F:→ derekhsu:这些关键字去查一查究知道如何下手了 07/08 00:09
11F:推 typeotoco:该不会重点是在 书的推销.. 07/08 01:19
12F:推 zlw:就函式库、程式库 07/08 02:40
13F:→ xsoho:糟糕 是我简体看太多吗 @@ 看的还满顺的 07/08 12:44
14F:推 wefun:vi/vim 不是必须的 linux上有太多的text editor了 07/08 17:38
15F:→ wefun:像gedit就不错用 图形介面 07/08 17:38
16F:推 starshine:很普通的文吧...哪有那麽夸张 07/08 22:16
17F:→ juncheng:我同事都用samba 用ultraedit看 哈哈 07/08 23:20
18F:→ airzone:joe + cscope + gcc + gdb + man 无敌 07/08 23:22
19F:推 billmin:我也用samba + soruce insight 07/12 00:29
20F:推 substar:很久很久以前用Anjuta+Devhelp...感觉比当时的VC还好用 07/14 21:42
21F:→ lpoijk:推这篇 Linux下 这些都是基础而已 07/18 00:00
22F:→ lpoijk:这边提到的Library跟tool 真的都满基本的... 07/18 00:01