首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>基础入门>正文

Linux下C语言编程的注意事项

http://www.oklinux.cn  2008-05-12  来源: 赛迪网 sixth  会员收藏  游客收藏  【 】 

一、工具的使用

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编写网络程序。


上一篇:Linux 2.6.12内核上加载一个简单的模块   下一篇:Linux系统的软件安装方法

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux 2.6.12内核上加载一个简单的模块
·Linux系统的软件安装方法
·实例说明:Linux系统终端scp命令的用法
·Linux系统下一些简单实用命令
·命令行中“\”和“--”符号所代表的含义
·在Linux终端中“\”和“--”所代表含义
·Linux系统Shell基础知识
·Linux系统下安装Weblogic小结
·学习园地:了解Linux下Fdisk的基础知识
·在Linux系统下建立Samba用户
·Linux系统下激活网卡命令
·Linux系统下目录创建与删除常用方法
·菜鸟乐园:Linux系统Shell入门命令介绍
·Linux Shell下删除目录的命令
·Linux系统关于负载的定义
·修改Linux系统日期和时间
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Windows系统用户转Linux新手常见问题整
·Linux系统下的多线程下载
·Linux系统的文件属性介绍
·关于Linux系统文件扩展名含义的介绍
·Linux系统下关于文件目录的属性意义
·关于Linux系统下PATH设置方法
·查看一个Linux文件夹下所有文件的总大
·Linux系统中Fstab文件的含义
·Linux系统的本地域名解析文件
·Linux Shell中PS命令中的%CPU的含义介
·Linux系统的开机流程分析
·Linux系统中错误码描述及其含义
  阅读排行
·Linux的GRUB引导程序配置方法大全
·Linux 操作员基础教程
·新手从零开始:Linux系统命令的使用
·Ubuntu 8.04 LTS (Hardy Heron)软件源
·Linux下tar bz gz等压缩包的压缩和解压
·Unix Shell程序编写的方法详解
·从硬盘启动Desktop ISO所需的引导文件
·深入理解软件包的配置、编译与安装方法
·Linux系统面面观 PROC文件系统详细介绍
·Linux操作系统下关于引导和初始化的问
·Linux下挂载硬盘光驱和U盘的方法
·Linux操作系统的命令分类介绍
·使用Grub进行Linux的硬盘安装与修复
·Linux基础知识普及 理解GNU/Linux含义
·新手看招 Unix和Linux下C语言学习指南
网摘收藏: