- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 概述
1.1 UNIX 的版本
UNIX 操作系统是贝尔实验室于六十年代末用 C 语言研制开发的。经过几十年的发展,已经成为流行
于从大型机、小型机
到工作站甚至微机等多种平台的操作系统。 UNIX 的成功同时也推动了 C 语言的普及。 本教材的目的是讲
解 UNIX 系统下的 C 程序设计,使 C 程序员快速掌握 UNIX 系统下的编程开发。作者在进行 UNIX 编程
开发的实践过程中,深感实例的重要性 , 一个简短的 C
语言实例往往胜过长篇累牍的文字说明,当然了,文字说明也是必不可少的。本教材将本着实例优先的原
则,使您能够对
UNIX 编程开发快速入门。
UNIX 的版本不统一是出了名的,从 UNIX 的发展历史来看,主要有两大流派: ATT 的 UNIX 系统
V 版本和加州大学伯克利分
校的 BSD 版本 , 在此基础上 , 各家 UNIX 厂商均开发了各自的 UNIX 操作系统。 如 : 工作站厂商中有 HP 的
hpux 、SUN 的 solaris 、SGI
的 irix 、 IBM 的 AIX 等,小型机有 VAX 上的 Ultrix , 微机上有 SCO UNIX 、微软的 Xenix 以及随着
Internet 而风靡全球的 Linux
等。 由于 Windows NT 的异军突起, 对 UNIX 的市场形成巨大的威胁, 各大 UNIX 厂商不得不联合起来,
在工作站市场上,统一以
系统 V 版作为标准,加入 BSD 版本中的一些优点, 支持统一的 CDE (Common Desktop Environment )
窗口环境,以与 Windows NT
进行对抗。
1.2 UNIX 编程环境
UNIX 操作系统通过 Shell 程序实现系统与用户的交互,在 Shell 提示符下,用户键入 UNIX 命令,
即可得到操作系统的输出
结果。 BSD 系统的常用 Shell 是 C Shell ,缺省提示符是 % ,系统 V 的常用 Shell 是 Bourne Shell
(现在多为 Korn Shell ),缺省
提示符是 $ ,有关 Shell 的编程,我们在后面的章节中进行介绍。
UNIX 上的标准编译器是 cc 。在 Shell 提示符下(以 C Shell 为例)键入下列命令:
$ cc -o hello hello.c
即将 C 文件 hello.c 编译为可执行文件 hello 。在编译多个文件生成一个可执行文件时, UNIX 提供命令
make 。用户需要针对多个 C 文件,按照一定的格式编写一个叫做 Makefile 的文本文件。下面是 SGI 上
的一个 Makefile 的例子:
CC = cc
CFLAGS = $(DEBUG) -cckr -I$(INC)/X11 -DSYSV
DEBUG = -g
INC = /usr/include
LDFLAGS = -lXext -lXm -lXt -lX11 -lPW -lc
OBJS = initx.o windowx.o
TGTS = showxwin
all:: $(TGTS)
showxwin: $(OBJS)
$(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS)
大写字母的字串是一些宏, CC 是编译器的名字、 CFLAGS 定义 cc 的编译开关、 DEBUG 是调试宏、 INC
是头文件所在目录、
LDFLAGS 定义了编译连接库、 OBJ 定义了目标文件名、 TGTS 定义了可执行文件名。在 Shell 提示符下
直接键入:
$ make
即可将 Makefile 中指定的所有 C 文件进行编译并生成可执行文件。
1.
原创力文档


文档评论(0)