关于Linux操作系统下C语言编程注意事项
来源:asp之家 发布时间:2009-09-20 20:24:00
一、工具的使用
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编写网络程序。


猜你喜欢
- 上次装好了PHP,MySQL,还缺个MySQL图形化管理工具。MySQL图形化管理工具有很多,phpmyadmin无疑是必装的,国外空间大多
- GtkTreeView 构件是一个高级的构件,利用他你就可以制作出漂亮的普通列表或者是树状的列表。这个构件里可以包含一或者多行。他的构架呢?
- 在Windows Server 2008中被完全重新设计的网络协议栈包括一项新技术,使得一个大的多的数据包可以进入网络。它还可以迅速的重新调
- 图为百度联盟贴片广告管理后台界面腾讯科技讯 4月12日消息,百度网盟推广近日正式宣布开通“贴片推广”业务,首批邀请的站点名单尚未公布,外界预
- 目前的视频网站,无疑站在一个十字路口。一方面是视频受众群体的增长,视频内容的不断扩充。另一方面是尚未明晰的政策,版权的重压。在尚未盈利,即将
- 首先了解什么是IIS连接数。IIS连接数指并发连接数,什么意思呢? 要分几种情况:(以100M空间50人在线为例)A 用户单点下载你的文件,
- 在即将开始测试UCenter Home 2.0中,针对1.5版本新增了六大互动新特性,使得新版本拥有更强的互动性。在此特别提前为大家做一下道
- 一、Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.c
- 1.密码保护的.htaccess文件 尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码
- 服务器数据存储安全是保障服务器正常运行的重要的环节,同时也是企业网络信息化建设的核心。每一家企业的管理层人员都非常重视存储在服务器的重要数据
- 一、首先把php的压缩包(这里以PHP4.3.2为例)解压到C:\php-4.3.2-Win32目录中,然后从其中找到一个叫php.ini-
- 自从建立了这个账号后写了一篇,好几年没来了,今天来看看,顺便分享一下.昨天晚上想玩玩zookeeper集群,在vb里复制了一台主机,可怎么也
- 第一步:创建自定义网络docker network create --subnet=172.18.0.0/24 docker-br0备注:这
- 使用xshell连接服务器时,出现了“WARNING! The remote SSH server rejected X
- VMware Workstation 是一个虚拟PC的软件,利用VMware工作站,可以在现有的操作系统上虚拟出一个或多个新的硬件环境,相当
- 在不少人眼里,登录服务器也许是一件简单得几乎不值得一提的事情!可事实并非想象中那样简单轻松,在不同的服务器登录环境中,我们或许会遇到许多不同
- 可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.h
- 我们今天发布了包括Internet Information Services 7.0在内的Windows Server 2008 Relea
- DHCP服务器的工作原理DHCP简介DHCP的前身是BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器
- Text Link Ads是什么?Text Link Ads是一家专门提供文字链接交易的平台,用户可以通过它出售和购买文字链接。这里要和大家