1、 1Unix more topic-name-HOWTO 另外,HOWTO 文档还有其他格式的文件,例如 HTML 和 PS 等,保存在 /usr/doc/HOWTO/other-formats 下。 4. 其他Linux 的内核文档一般包含在内核源代码中,目录如下:/usr/src/ linux-2.x.x/Documentation /usr/doc 目录下包含有大量与特定软件或函数库相关的说明性文档。 C 语言编程风格7编写这一小节的目的是提醒大家在编程过程中注意编程风格。如果你只是在编写一些小的练习程序,程序只有一两百行长的话,编程风格可能并不重要。然而,如果你和许多人一起进行开发工作
2、,或者,你希望在过一段时间之后,还能够正确理解自己的程序的话,就必须养成良好的编程习惯。在诸多编程习惯当中,编程风格是最重要的一项内容。 良好的编程风格可以在许多方面帮助开发人员。如果你阅读过 Linux 内核源代码的话,可能会对程序的优美编排所倾倒。良好的编程风格可以增加代码的可读性,并帮助你理清头绪。如果程序非常杂乱,大概看一眼就该让你晕头转向了。编程风格最能体现一个程序员的综合素质。 许多读者可能对 Windows 所推崇的匈牙利命名法很熟悉。这种方法定义了非常复杂的函数、变量、类型等的命名方法,典型的命名方法是采用大小写混写的方式,对于变量名称,则采用添加前缀的办法来表示其类型,例如:
3、char szBuffer20; int nCount;利用 sz 和 n 分别代表字符串和整数。为了表示一个变量名称,采用如下的变量名称是可能的:int iThisIsAVeryLongVariable; 在 Linux 中,我们经常看到的是定义非常简单的函数接口和变量名称。在 Linux 内核的源代码中,可以看到 Linux 内核源代码的编码风格说明(/ Documentation/CodingStyle)。UNIX 系统的一个特点是设计精巧,并遵守积木式原则。C 语言最初来自 UNIX 操作系统,与 UNIX 的设计原则一样, C 语言被广泛认可和使用的一个重要原因是它的灵活性以及简洁性
4、。因此,在利用 C 语言编写程序时,始终应当符合其简洁的设计原则,而不应当使用非常复杂的变量命名方法。Linus 为 Linux 内核定义的 C 语言编码风格要点如下: 1. 缩进时,使用长度为 8 个字符宽的 Tab 键。如果程序的缩进超过 3 级,则应考虑重新设计程序。 2. 大括号的位置。除函数的定义体外,应当将左大括号放在行尾,而将右大括号放在行首。函数的定义体应将左右大括号放在行首。如下所示:int function(int x, int y)if (x = y) . else if (x y) 8. else .return 0;应采用简洁的命名方法。对变量名,不赞成使用大小写混写
5、的形式,但鼓励使用描述性的名称;尽可能不使用全局变量;不采用匈牙利命名法表示变量的类型;采用短小精悍的名称表示局部变量;保持函数短小,从而避免使用过多的局部变量。 保持函数短小精悍。 不应过分强调注释的作用,应尽量采用好的编码风格而不是添加过多的注释。库和头文件的保存位置1. 函数库 /lib:系统必备共享库 /usr/lib:标准共享库和静态库 /usr/i486-linux-libc5/lib:libc5 兼容性函数库 /usr/X11R6/lib:X11R6 的函数库 /usr/local/lib:本地函数库 2. 头文件 /usr/include:系统头文件 /usr/local/in
6、clude:本地头文件 共享库及其相关配置 /etc/ld.so.conf:包含共享库的搜索位置 ldconfig:共享库管理工具,一般在更新了共享库之后要运行该命令 ldd:可查看可执行文件所使用的共享库 92 Linux 上进行程序开发的典型场景 控制台上的开发场景 X Window 上的开发场景 控制台上的开发场景在控制台上利用 vim 编辑器编写“Hello, world!”程序,并在命令行编译并运行。X Window 上的开发场景在 X Window 上利用 Emacs 编写“Hello, world!”程序,并在 Emacs 中直接编译并运行。3 程序和脚本 程序:编写, 编译,
7、调试和执行 脚本:编写, 执行 程序脚本:编写, 编译, 调试和执行10第二章 Linux 上的 C 编译器和调试器Linux 的发行版中包含了很多软件开发工具. 它们中的很多是用于 C 和 C+应用程序开发的.本教材介绍了在 Linux 下能用于 C 应用程序开发和调试的工具. 本章的主旨是介绍如何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程. 在本章中你将学到以下知识: 什么是 C GNU C 编译器 用 gdb 来调试 GCC 应用程序 你也能看到随 Linux 发行的其他有用的 C 编程工具. 这些工具包括源程序美化程序(pretty print
8、programs), 附加的调试工具, 函数原型自动生成工具(automatic function prototypers). 什么是 C?C 是一种在 UNIX 操作系统的早期就被广泛使用的通用编程语言. 它最早是由贝尔实验室的 Dennis Ritchie 为了 UNIX 的辅助开发而写的, 开始时 UNIX 是用汇编语言和一种叫 B 的语言编写的. 从那时候起, C 就成为世界上使用最广泛计算机语言. C 能在编程领域里得到如此广泛支持的原因有以下一些: 它是一种非常通用的语言. 几乎你所能想到的任何一种计算机上都有至少一种能用的 C 编译器. 并且它的语法和函数库在不同的平台上都是统一
9、的, 这个特性对开发者来说很有吸引力. 用 C 写的程序执行速度很快. C 是所有版本的 UNIX 上的系统语言. C 在过去的二十年中有了很大的发展. 在 80 年代末期美国国家标准协会(American National Standards Institute)发布了一个被称为 ANSI C 的 C 语言标准.这更加保证了将来在不同平台上的 C 的一致性. 在 80 年代还出现了一种 C 的面向对象的扩展称为 C+. C+ 将在另一篇文章 “C+ 编程“中描述. Linux 上可用的 C 编译器是 GNU C 编译器, 它建立在自由软件基金会的编程许可证的基础上, 因此可以自由发布. 你能在 Linux 的发行光盘上找到它.