该讲义主要讲解了C语言中如何处理多个源文件和头文件,以及C语言的基本概念、特点、优点和缺点。同时,它还涵盖了C语言的标准化历程,如C89和C99标准。此外,提到了GCC(GNU Compiler Collection)编译器的使用和选项,以及在编写简单C程序时的预处理、编译和连接过程。
在C语言中,头文件被用来包含函数声明和宏定义,以便在不同的源文件之间共享。`#include`指令用于引入头文件,其中`<文件名>`表示在系统路径下寻找头文件,而`"文件名"`则首先在当前目录查找,若未找到再尝试系统路径。宏定义可以用来动态指定头文件,例如在不同架构间选择合适的CPU文件。
C语言的标准化始于1973年,由Dennis Ritchie为Unix系统创建。C89标准在1989年被ANSI通过,并在1990年成为ISO国际标准。C99标准在1999年发布,增加了多项改进。C语言的衍生物包括C++、Java、C#等。
C语言的特点是其底层性、小型性、包容性和高效性。它是低级别的,适合编写需要直接硬件交互的程序。C语言的特性有限,但依赖于强大的标准库。它不是一种强类型语言,但类型检查有所增强。C语言的优点在于它的高效性、可移植性、功能强大和灵活性,适用于各种应用场景。然而,这些优点也伴随着易于隐藏错误、难以理解和修改的缺点。
一个简单的C程序通常包含预处理指令,如`#include`,主函数`main()`,以及使用标准库函数,如`printf()`。编译过程包括预处理、编译和连接三个步骤。GCC作为常用的C编译器,支持多种编程语言,且具有丰富的编译选项,如控制优化级别、产生警告消息等。
在示例程序中,`#include<stdio.h>`导入了标准输入输出库,`printf()`函数用于打印字符串,这些都是C语言的基本语言特性。通过`gcc`命令可以编译和链接C程序,不同的选项可以控制编译行为,如`-c`用于编译源文件但不链接,`-o`指定输出文件名,`-std`指定遵循的C标准。
这份讲义提供了一个深入理解C语言组织结构、编程基础和编译过程的全面介绍,对于C语言的学习者来说是一份宝贵的资料。