xwmlz 2008-11-14 10:50
成都嵌入式培训-Linux系统下的C语言都需要学些什么
[size=3][color=#000000][font=Times New Roman]Linux[/font][font=宋体]系统下的[/font][font=Times New Roman]C[/font][font=宋体]语言开发都需要学些什么[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[size=3][color=#000000][font=宋体]一、工具的使用[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]1[/font][font=宋体]、学会使用[/font][font=Times New Roman]vim/emacs[/font][font=宋体],[/font][font=Times New Roman]vim/emacs[/font][font=宋体]是[/font][font=Times New Roman]linux[/font][font=宋体]下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用[/font][font=Times New Roman]vim[/font][font=宋体],这也是我目前使用的文本编辑器。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]2[/font][font=宋体]、学会[/font][font=Times New Roman]makefile[/font][font=宋体]文件的编写规则,并结合使用工具[/font][font=Times New Roman]aclocal[/font][font=宋体]、[/font][font=Times New Roman]autoconf[/font][font=宋体]和[/font][font=Times New Roman]automake[/font][font=宋体]生成[/font][font=Times New Roman]makefile[/font][font=宋体]文件。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]3[/font][font=宋体]、掌握[/font][font=Times New Roman]gcc[/font][font=宋体]和[/font][font=Times New Roman]gdb[/font][font=宋体]的基本用法。掌握[/font][font=Times New Roman]gcc[/font][font=宋体]的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用[/font][font=Times New Roman]gcc[/font][font=宋体]把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]4[/font][font=宋体]、掌握[/font][font=Times New Roman]svn/cvs[/font][font=宋体]的基本用法。这是[/font][font=Times New Roman]linux[/font][font=宋体],也是开源社区最常用的版本管理系统。可以去试着参加[/font][font=Times New Roman]sourceforge[/font][font=宋体]上的一些开源项目。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]二、[/font][font=Times New Roman]linux/unix[/font][font=宋体]系统调用与标准[/font][font=Times New Roman]C[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为[/font][font=Times New Roman]steven[/font][font=宋体]先生的[/font][font=Times New Roman]UNIX[/font][font=宋体]环境高级编程(简称[/font][font=Times New Roman]APUE[/font][font=宋体])。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]三、库的学习[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]无论是在哪个平台做软件开发,对于库的学习都很重要,[/font][font=Times New Roman]linux[/font][font=宋体]下的开发库很多,我主要介绍一下我常常用到的一些库。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]1[/font][font=宋体]、[/font][font=Times New Roman]glib[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]glib [/font][font=宋体]库是[/font][font=Times New Roman]gtk+[/font][font=宋体]和[/font][font=Times New Roman]gnome[/font][font=宋体]的基础库,并具是跨平台的,在[/font][font=Times New Roman]linux[/font][font=宋体]、[/font][font=Times New Roman]unix[/font][font=宋体]和[/font][font=Times New Roman]windows[/font][font=宋体]下都可以用。[/font][font=Times New Roman]glib[/font][font=宋体]库对于[/font][font=Times New Roman]linux[/font][font=宋体]平台开发的影响就像[/font][font=Times New Roman] MFC[/font][font=宋体]对[/font][font=Times New Roman]windows[/font][font=宋体]平台开发的影响一样,很多开源项目都大量的使用了[/font][font=Times New Roman]glib[/font][font=宋体]库,包括[/font][font=Times New Roman]gimp[/font][font=宋体]、[/font][font=Times New Roman]gnome[/font][font=宋体]、[/font][font=Times New Roman]gaim[/font][font=宋体]、[/font][font=Times New Roman]evolution[/font][font=宋体]和[/font][font=Times New Roman] linux[/font][font=宋体]下的集群软件[/font][font=Times New Roman]heartbeat[/font][font=宋体]。因为[/font][font=Times New Roman]glib[/font][font=宋体]库自带有基本的数据结构实现,所以在学习[/font][font=Times New Roman]glib[/font][font=宋体]库的时候可以顺便学习一下基本的数据结构(包括链表、树、队列和[/font][font=Times New Roman]hash[/font][font=宋体]表)。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]2[/font][font=宋体]、[/font][font=Times New Roman]libxml[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]libxml[/font][font=宋体]是[/font][font=Times New Roman]linux[/font][font=宋体]平台下解析[/font][font=Times New Roman]XML[/font][font=宋体]文件的一个基础库,现在很多实用软件都用[/font][font=Times New Roman]XML[/font][font=宋体]格式的配置文件,所以也有必要学习一下。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]3[/font][font=宋体]、[/font][font=Times New Roman]readline[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]readline [/font][font=宋体]库是[/font][font=Times New Roman]bash shell[/font][font=宋体]用的库,如果要开发命令行程序,那么使用[/font][font=Times New Roman]readline[/font][font=宋体]库可以减少很多工作量,比如[/font][font=Times New Roman]bash[/font][font=宋体]里的命令行自动补全,在[/font][font=Times New Roman]readline[/font][font=宋体]里就已经有实现,当然你也可以用自己的实现替代库的行为。[/font][font=Times New Roman]readline[/font][font=宋体]库有很多网站介绍的,只要[/font][font=Times New Roman]google[/font][font=宋体]一下[/font][font=Times New Roman]readline[/font][font=宋体]就可以找到一堆了。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]4[/font][font=宋体]、[/font][font=Times New Roman]curses[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]curses [/font][font=宋体]库以前是[/font][font=Times New Roman]vi[/font][font=宋体]程序的一部分,后来从[/font][font=Times New Roman]vi[/font][font=宋体]里提取出来成为一个独立的库。[/font][font=Times New Roman]curses[/font][font=宋体]库对于编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出,改变终端字体的颜色和终端模式。[/font][font=Times New Roman]linux[/font][font=宋体]下的[/font][font=Times New Roman]curses[/font][font=宋体]库用的是[/font][font=Times New Roman]GNU[/font][font=宋体]实现的[/font][font=Times New Roman]ncurses(new curses[/font][font=宋体]的意思[/font][font=Times New Roman])[/font][font=宋体]。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]5[/font][font=宋体]、[/font][font=Times New Roman]gtk+[/font][font=宋体]和[/font][font=Times New Roman]KDE[/font][font=宋体]库[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]这两个库是开发[/font][font=Times New Roman]GUI[/font][font=宋体]应用程序的基础库,现在[/font][font=Times New Roman]linux[/font][font=宋体]下的大部份[/font][font=Times New Roman]GUI[/font][font=宋体]程序都是基于这两个库开发的,对于它们[/font][font=Times New Roman] [/font][font=宋体]的学习也是很有必要的。[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]四、网络的学习[/font][font=Times New Roman] [/font][/color][/size]
[size=3][color=#000000][font=宋体]网络这个东西太宽了,推荐学习资料[/font][font=Times New Roman]steven[/font][font=宋体]先生的[/font][font=Times New Roman]UNIX[/font][font=宋体]网络编程(简称[/font][font=Times New Roman]UNP[/font][font=宋体])和[/font][font=Times New Roman]TCP/IP[/font][font=宋体]协议详解,更进一步的话可以学习使用[/font][font=Times New Roman]libnet[/font][font=宋体]编写网络程序。[/font][font=Times New Roman] [/font][/color][/size]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[size=3][font=宋体][color=#000000]更多精彩内容请登陆:[/color][/font][font=Times New Roman][color=#000000]http:// [/color][/font][url=http://www.re-er.com.cn/][font=Times New Roman][color=#800080]www.re-er.com.cn[/color][/font][/url][/size]
[size=3][color=#000000][font=Times New Roman]RE.ER[/font][font=宋体]嵌入式学院,圆你高薪就业梦!!![/font][/color][/size]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]