红联Linux门户
Linux帮助

Linux编程入门之C语言环境

发布时间:2005-07-17 00:46:13来源:红联作者:何哥
整体思路
本讲是编程系列讲座的第一讲,主要讲述 Linux 平台上的 C 语言环境,包括编译器、 调试器、Make、Diff、Patch 等。其目的是通过介绍 Linux 上 C 语言编程的基本工具 以及一些新手必须掌握的技巧,迅速引导新手入门,以避免走弯路。
首先对 Linux 作一简单介绍,然后通过讲解 Linux 上进行编程的常识以及典型场景的 演示,使大家对 Linux 上的程序开发有一个感性认识。在此基础上,重点讲述 Linux 上 C 语言编程的基本工具,包括编译器和调试器,主要是它们的重要选项和基本用法。 接下来讲述在项目组织和开发过程中非常重要的工具,即 GNU make 和 makefile。 最后讲述 diff/patch 工具。

主要内容
什么是 Linux

Linux 的发展历史以及关键人物

Linux 与其他操作系统

Linux 的编程常识

Linux 上进行程序开发的典型场景

程序和脚本

Linux 上的 C 编译器和调试器

GNU make 和 makefile

实用工具

各部分要点
1.1 什么是 Linux

Linux 的发音
Linux 的官方定义
POSIX 及其重要地位
GNU 和 Linux 的关系
GPL 及其主要内容
Linux 的主要发行版
1.2 Linux 的发展历史以及关键人物

UNIX, GNU, Linux 的关键人物及贡献
Linux 发展的重要里程碑
1.3 Linux 与其他操作系统

Linux 与主要 UNIX 系统之间的关系
Linux 与 Windows 操作系统
1.4 Linux 的编程常识

标准 (ANSI C, POSIX, SVID, XPG, ...)
函数库和系统调用
在线文档 (man, info, HOW-TO, ...)
C 语言编程风格
库和头文件的保存位置
共享库及其相关配置
1.5 Linux 上进行程序开发的典型场景

控制台上的开发场景
X Window 上的开发场景
1.6 程序和脚本

程序:编写, 编译, 调试和执行
脚本:编写, 执行
1.7 Linux 上的 C/C++ 编译器和调试器

运行 gcc/egcs
gcc/egcs 的主要选项
gdb
gdb 的常用命令
gdb 使用范例
其他程序/库工具 (file, ar, objdump, nm, size, strings, strip, ...)
创建和使用静态库
创建和使用共享库
使用高级共享库特性
1.8 GNU make 和 makefile

GNU make
makefile 基本结构
makefile 变量
GNU make 的主要预定义变量
隐含规则
makefile 范例
运行 make
1.9 开发中常用的工具

正则表达式
压缩和归档工具 (gzip, bzip2, tar, ...)
搜索和排序 (grep, find, sort, ...)
文件编辑 (sed, tr)
文件比较 (cmp, comm, diff, patch, ...)
其他 (ed, vim, emacs, ...)
文章评论

共有 1078 条评论

  1. joydiyf 于 2008-08-21 15:36:59发表:

    :0wmjh(1

  2. taotie 于 2008-08-20 22:24:19发表:

    :0)1 :0)1 :0)1 :0)1

  3. hungyu36 于 2008-08-08 00:11:22发表:

    谢谢分享

  4. chenyfeng2004 于 2008-08-07 22:19:38发表:

    see see

  5. azul'negro 于 2008-08-07 22:10:55发表:

    下来研究一番,谢谢

  6. oinil 于 2008-08-07 16:00:21发表:

    为什么下不了

  7. 我更爱linux 于 2008-08-07 13:17:43发表:

    :0)1 :0)1 :0)1

  8. luokk 于 2008-07-18 17:38:26发表:

    :0)1

  9. dlh20002001 于 2008-07-17 19:02:42发表:

  10. haobai 于 2008-07-17 14:14:01发表:

    楼主伟大

  11. liyuan0101011 于 2008-07-16 16:31:15发表:

    好书,顶先

  12. linuxleilei 于 2008-07-14 12:13:57发表:

    谢谢lz

  13. wzl1219 于 2008-07-10 22:45:40发表:

    (6)m:b 呵呵,找到了.......谢谢

  14. bigmanyx 于 2008-07-09 09:20:37发表:

    thanks thanks thanks thanks

  15. bindy 于 2008-07-08 23:14:56发表:

    :987w(1

  16. wangdannina 于 2008-07-08 22:28:51发表:

    要是能直接用迅雷下就更好了

  17. weedtju 于 2008-07-08 12:21:31发表:

    我怎么看不见啊

  18. llew 于 2008-07-08 03:22:57发表:

    想看看

  19. whendyyea 于 2008-07-03 16:58:01发表:

    ddddddddddddddddddd

  20. ufxiong 于 2008-07-03 16:39:30发表:

    谢谢啊

  21. jinruoyanxu 于 2008-07-03 16:16:33发表:

    为什么我下载不了呢 》?级别不够吗?

  22. cooltxs 于 2008-07-03 15:06:54发表:

    xie xie lz

  23. tuzi21314 于 2008-07-02 17:16:17发表:

  24. Linux_qq 于 2008-07-02 14:39:59发表:

    ding!:0)1

  25. gary.bao 于 2008-07-01 22:58:12发表:

    xiexiel,xiankankan

  26. MeckyDrao 于 2008-07-01 22:25:35发表:

    谢谢分享

  27. wangmingshu2008 于 2008-07-01 17:08:13发表:

    我看了一下这本书,真的是太好了,看来红联论坛真是一个学linux的好地方啊,以后要多来逛逛啊。

  28. lawless 于 2008-06-30 20:34:48发表:

    (6)m:b
    很好很强大

  29. 六月雪 于 2008-06-30 20:31:20发表:

    怎样才能下?

  30. zt10cn 于 2008-06-28 14:33:04发表:

    谢谢分享

  31. hlch 于 2008-06-28 14:28:27发表:

    重新学习开始了。

  32. dongzhichen 于 2008-06-28 00:57:57发表:

    不错,谢谢楼主

  33. caorujun 于 2008-06-27 18:17:10发表:

    为什么我看不到啊

  34. Toni 于 2008-06-24 18:01:39发表:

    我这么看不到呀 。。。。刚来的 。。

  35. yuxuan07011 于 2008-06-23 18:24:49发表:

    goodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgood

  36. yjh5216 于 2008-06-22 09:34:16发表:

    很不错的书

  37. 0957 于 2008-06-21 08:35:18发表:

    "附件: 您所在的用户组无法下载或查看附件"
    能否发一份到我的邮箱?
    qingyao_2@163.com
    谢谢

  38. cherry 于 2008-06-20 22:15:34发表:

    d

  39. saionpong 于 2008-06-07 11:54:11发表:

    dingding

  40. danfeixuelian 于 2008-06-05 16:10:07发表:

    不错