第一章 概述
1.1 UNIX的版本

    UNIX操作系统是贝尔实验室于六十年代末用C语言研制开发的。经过几十年的发展,已经成为流行于从大型机、小型机
到工作站甚至微机等多种平台的操作系统。UNIX的成功同时也推动了C语言的普及。本教材的目的是讲解UNIX系统下的C程序设计,使C程序员快速掌握UNIX系统下的编程开发。作者在进行UNIX编程开发的实践过程中,深感实例的重要性,一个简短的C
语言实例往往胜过长篇累牍的文字说明,当然了,文字说明也是必不可少的。本教材将本着实例优先的原则,使您能够对
UNIX编程开发快速入门。

    UNIX的版本不统一是出了名的,从UNIX的发展历史来看,主要有两大流派:AT&Tfprintf格式UNI
X系统V版本和加州大学伯克利分
校的BSD版本,在此基础上,各家UNIX厂商均开发了各自的UNIX操作系统。如:工作站厂商中有 HPhpuxSUNsolarisSGI
irixIBMAIX等,小型机有VAX上的Ultrix 微机上有SCO UNIX、微软的Xenix以及随着Internet而风靡全球的Linux
等。由于Windows NT的异军突起,对UNIX的市场形成巨大的威胁,各大UNIX厂商不得不联合起来,在工作站市场上,统一以
系统V版作为标准,加入BSD版本中的一些优点,支持统一的CDECommon Desktop Environment)窗口环境,以与Windows NT
进行对抗。

1.2 UNIX编程环境

    UNIX操作系统通过Shell程序实现系统与用户的交互,在Shell提示符下,用户键入UNIX命令,即可得到操作系统的输出
结果。BSD系统的常用ShellC Shell,缺省提示符是"%",系统V的常用ShellBourne Shell(现在多为Korn Shell,缺省
提示符是"$",有关Shell的编程,我们在后面的章节中进行介绍。

  UNIX上的标准编译器是cc。在Shell提示符下(以C Shell为例)键入下列命令:
$ cc -o hello hello.c

即将C文件hello.c编译为可执行文件hello。在编译多个文件生成一个可执行文件时,UNIX提供命令make。用户需要针对多个C文件,按照一定的格式编写一个叫做Makefile的文本文件。下面是SGI上的一个Makefile的例子: