`

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

分享到:
评论

相关推荐

    基于C语言的银行ATM系统开发

    4、程序在Dev C++、Codeblock以及Linux系统下皆能测试通过; 5、程序共分为三个文件编写,编译运行时,可能需要做动态的调整; 6、本程序适合C语言初学者检验学习成果而用,也可作为C语言的程序设计参考; 7、希望本...

    Linux系统C语言学习电子书

    这个电子书是本人买的Linux系统下C程序开发详解里面的一个电子书,主要讲解Linux下C语言编程的方法和技巧,比较适合初学者,与大家共同分享

    Linux系统设计-Linux下用C语言实现学生信息管理系统

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。...许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。

    Linux操作系统下C语言环境的组件(附下载地址,仅供学习使用)

    VMware.Workstation.Pro.14 +ubuntu-16.04.6-desktop(32位)+gcc5.4.0构成Linux的C语言开发环境

    Linux系统设计-linux环境下shell和C语言分别开发学生管理系统

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。...许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构

    Linux系统设计-Linux下C语言实现即时通讯系统

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。...许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。

    Linux系统下C语言编程工具详细介绍

    Linux的发行版中包含了很多软件开发工具。...本文的主旨是介绍如何在Linux下使用C编译器和其他C编程工具, 而非C语言编程的教程。在本文中你将学到以下知识: 什么是C、GNU C编译器、用gdb来调试GCC应用程序。

    嵌入式C学习资料汇总(包括单片机开发、Linux下C语言入门等)

    嵌入式C的学习资料汇总,包括嵌入式C学习基础,单片机开发,Linux下C语言的入门,嵌入式系统下的代码优化。

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

    Linux操作系统下C语言编程入门 此书面向学习linux 并在其下开发C程序的同学

    精通ARM嵌入式Linux系统开发1

    在嵌入式Linux软件开发中讲述了嵌入式Linux C语言开发工具的使用、标准库的使用、多任务开发基础和设备驱动开发基础;在嵌入式应用系统实例分析中讲述了嵌入式Linux的网络程序开发、MiniGUI图形界面开发、CAN总线...

    贪吃蛇 linux开发 C语言 linux系统编程

    这是一个适合与起步linux学习,但有一定的C编程能力的人学习,目的是易提高计算机语言及开发环境兴趣。更希望能帮助到能然爱与这一行业的人们!

    linux软件工程师(C语言)实用教程》.rar

    这是一套有关linux c语言开发相关的PPT讲义,从易到难,对于想从事linux系统下C语言编程的朋友是一个非常有价值的参考和学习资料!

    精通ARM嵌入式Linux系统开发2

    在嵌入式Linux软件开发中讲述了嵌入式Linux C语言开发工具的使用、标准库的使用、多任务开发基础和设备驱动开发基础;在嵌入式应用系统实例分析中讲述了嵌入式Linux的网络程序开发、MiniGUI图形界面开发、CAN总线...

    Linux操作系统C语言入门

    linux C语言学习 基础知识 进程介绍 文件操作 时间概念 信号处理 消息处理 线程操作 网络编程 Linux下开发工具介绍

    Linux平台下学习C语言

    这么多背景完全不同、基础完全不同、思维习惯和理解能力完全不同的人来听同一堂课,大家都迫切希望学会嵌入式开发技术,投身IT行业,这就是职业教育的特点,也是我编这本书时需要考虑的主要问题。

    嵌入式Linux C语言基础与实例进阶 视频 源程序 PPT

     《嵌入式linux c语言基础与实例进阶》面向学习linux c语言的初中级读者,《嵌入式linux c语言基础与实例进阶》共16章,分别介绍了嵌入式系统基础知识、linux环境下c语言的开发、bootloader、linux环境下c语言编程...

    linux-c语言编程

    学习linux下编程,很多人多说语言是相通的,一通则百通。这里我就不吐槽了,只想说一句人云亦云是不好的。不同类型的编程语言有不同的适用场景,不同的领域。你让c coder去开发web应用、他会拿扫帚追你满街跑,你让...

    Linux嵌入式开发+C语言+Makefile+网络编程+驱动开发+系统移植

    这份思维导图文档涵盖了Linux嵌入式开发、C语言、Makefile、网络编程、驱动开发和系统移植等多个领域的知识,可以说是一个非常完整的学习框架。 这份文档将是一份非常有用的参考。其中,Linux嵌入式开发部分介绍了...

Global site tag (gtag.js) - Google Analytics