`

Linux系统下的C语言开发都需要学些什么

 
阅读更多

转载  中国IT实验室

 

 一、工具的使用

  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下C语言开发集锦

    本集锦聚焦于Linux环境下的C语言开发,旨在帮助开发者深入理解和掌握C语言在Linux平台上的应用。 首先,Linux下C语言开发的基础知识包括对GCC(GNU Compiler Collection)的使用。GCC是Linux中的标准编译器,可以将...

    Linux下C语言开发环境

    总的来说,Linux下的C语言开发需要对操作系统有基本的理解,熟练掌握开发工具的使用,遵循良好的编码实践,以及熟悉系统调用和库函数的交互方式。通过学习和实践,开发者可以构建高效、可维护的C程序,并参与到丰富...

    linux系统下C语言实现带有图形界面的学生成绩管理系统源代码(包含数据库文件)

    在Linux系统中,使用C语言实现带有图形界面的学生成绩管理系统是一项常见的编程挑战,它涉及到多方面的技术知识点。下面将详细阐述这个项目所涵盖的关键技术及其应用。 1. **C语言编程**:C语言是系统级编程的基础...

    完全手册 linux系统下c语言开发详解pdf电子书

    Linux系统下的C语言开发是一项基础且重要的技能,尤其对于那些对操作系统有深入研究或从事系统级编程的人来说。这本书“完全手册 Linux系统下C语言开发详解”是为初学者设计的,旨在提供一个全面的入门指南,帮助...

    linux下C语言开发笔记整理

    Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...

    linux操作系统下c语言编程入门

    通过学习和实践,你可以掌握在Linux系统中编写高效、稳定、可扩展的程序。在深入学习的过程中,不断实践和调试代码,阅读开源项目,将理论知识转化为实际技能,是成为一名优秀Linux C程序员的关键步骤。

    Linux操作系统下C语言编程入门.pdf

    在IT领域,Linux操作系统与C语言的结合是程序员学习的基础之一。C语言作为一种强大的系统...因此,《Linux操作系统下C语言编程入门》是一本值得推荐的入门教材,无论是初学者还是有一定经验的开发者,都可以从中获益。

    嵌入式Linux系统开发技术详解.基于ARM.pdf Linux操作系统下C语言编程入门

    嵌入式Linux系统开发技术详解与基于ARM的实践 嵌入式系统开发是现代电子设备设计中的重要组成部分,尤其在物联网(IoT)时代,其重要性更是日益凸显。嵌入式Linux作为开源且功能强大的操作系统,为开发者提供了丰富的...

    linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】.zip

    linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】...

    linux操作系统下c语言编程入门,经典总结

    ### Linux操作系统下C语言编程入门:经典总结 在IT领域,尤其是软件开发中,Linux操作系统与C语言结合,成为了一种极为重要的技能组合。本文旨在深入解析Linux环境下C语言编程的关键知识点,涵盖从基础概念到高级...

    Linux系统C语言学习电子书

    总之,《Linux系统C语言学习电子书》是一本全面介绍Linux环境下C语言编程的资源,无论你是计算机科学的学生还是对系统级编程感兴趣的自学者,都能从中受益。它将帮助你构建坚实的基础,开启Linux系统编程的大门,...

    linux 下的c语言

    C语言与Linux系统调用紧密相连。Linux提供了一套丰富的系统调用接口,如open()用于打开文件,read()和write()用于文件读写,fork()和exec()用于进程创建和执行新的程序。通过这些系统调用,你可以直接操作硬件资源,...

    基于c语言在linux下贪吃蛇项目

    Linux系统提供了丰富的开发工具,如GCC编译器,用于将源代码编译成可执行程序。此外,Makefile文件的编写对于组织和构建项目至关重要,它定义了编译规则和依赖关系,使得项目的构建过程更加自动化。 在这个项目中,...

    Linux下的C语言实战光盘内容

    总结来说,"Linux下的C语言实战光盘内容"是一个全面的学习资源,涵盖了从C语言基础到Linux系统编程的多个方面。通过学习和实践其中的代码和补充章节,开发者不仅可以提升C语言编程技能,还能深入理解Linux系统的运作...

    linux下c语言sqlite学生成绩管理系统

    通过这个项目,学习者可以深入了解C语言编程、数据库设计、GUI编程和Linux环境下的开发实践。它提供了一个实际应用场景,帮助新手将理论知识转化为实际技能,同时也可以锻炼问题解决和调试能力。

    Linux程序员— C语言

    ”,复杂的算法实现,或者针对特定Linux系统的实用工具。通过动手实践,学习者可以更好地理解C语言的语法特性,以及如何在实际项目中应用它们。 除此之外,其他资料可能包括编程范例、调试技巧、设计模式、最佳实践...

Global site tag (gtag.js) - Google Analytics