在linux系统下开发C语言需要学习的东西

第一,工具的使用



1、学会使用Vim和Emacs,Vim和Emacs是Linux最常用的源代码编辑器,不仅学会与他们编辑源代码,还要学会使用它们来找到,查找,替换等。新手建议vim的使用,这也是文本编辑器我目前使用的。



2。学习编写Makefile文件的规则生成工具aclocal autoconf和automake,makefile文件。



3,掌握GCC和GDB的基本用法,掌握GCC的用法对于构建软件包非常有用。当软件包包含多个文件时,您可以用GCC手动编译它,您将清楚地了解包中的文件之间的依赖关系。



4、掌握SVN / cvs.this的基本用法是Linux,和最常用的版本管理系统在开源社区。你可以试着去参加一些开源的项目提供。



二、linux系统调用和标准C库



系统调用应用软件和操作系统之间的接口。该系统的重要性是不可以说的,但必须掌握。推荐的学习资料是史提芬先生的UNIX环境高级编程(APUE)。



三,图书馆研究



无论哪个平台用于软件开发,图书馆的学习都是非常重要的。linux下有许多开发库。我将主要介绍一些我经常使用的库。



1、能说会道的图书馆



Glib库GTK+和GNOME库,并具有跨平台和可用于在Linux,Unix,Windows,Linux平台上圆滑的图书馆发展的影响就像是MFC对Windows平台发展的影响。许多开源项目使用Glib库广泛,包括GIMP,侏儒,GAIM,演化和Linux集群软件的心跳。因为glib库已基本数据结构的实现,所以学习glib库时,你可以学习基本的数据结构(包括链表、队列、树、哈希表)。



2、Libxml Library



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



3、readline库



ReadLine图书馆与图书馆的bash shell,如果你想开发的命令行程序,然后使用Readline库可以减少很多工作,比如bash命令行自动完成,在那里已经实现了,当然,你也可以使用自己的实现为代表的Readline库行为。有很多网站,你可以找到一大堆readline只要是谷歌。



4,诅咒库



curses库,这是以前的VI计划的一部分,后来从VI中成为一个独立的库。curses库编写终端相关的程序特别有用,如定位和连续输出一行,改变终端字体和终端模式的颜色。Linux下curses库使用ncurses(新的诅咒的意思)采用GNU。



5、GTK+和KDE库



这两个库是开发GUI应用程序的基本库。现在Linux下的大多数GUI程序都是基于这两个库开发的,这也是他们学习的必要条件。



四,网络学习



互联网太宽了。推荐的学习资料,史提芬的UNIX网络编程(UNP)和TCP / IP协议。如果你想更进一步,你可以学习使用libnet编写网络程序。