UNIX环境C语言编程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 概述 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 进行对抗。 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 文件进行编译并生成可执行文件。 UNIX 编程中的基本概念 在讨论 UNIX 编程开发前,首先需要阐明系统调用和库函数这两个概念。一个系统调用指一个需要操作系统代表用户程序来执行某些任务的请求。例如:read 是一个系统调用,它请求操作系统存储在一个磁盘设备(或其他设备)上的数据去填充一个缓冲区。如果任何人在他们想执行任务的时候都能随便访问设备,那么后果将是不可预测的。所以,这种服务必须请求操作系统来做,它(经常是透明地)记录所有 处理每个设备的请求。而一个库函数,并不经常需要操作系统来执行其任务。 例如数学库函数中的 sin(),cos()等,这些计算只需要简单地对一个有限序列求和,所以并不需要操作系统干预。在 UNIX 操作系统中,有一个常用的命令 man ,可用来查阅命令、库函数和系统调用等的具体使用方法。传统 Unix 联机帮助手册的分节法 为: 用户级命令(User-level commands ) 系统调用(System calls ) 库函数(Library functions) 设备及驱动程序(Devices and device drivers ) 文件格式(File formats) 游戏(

文档评论(0)

文章写作专家 + 关注
官方认证
服务提供商

本司主营文章撰写、培训教材、合同协议、发言稿、策划、汇报、各类文案。 ~ 海量资深编辑老师无缝对接,一对一服务。 ~ 保原创!可加急!免费改!

认证主体张家港市尚博锐艺术培训咨询有限公司
IP属地江苏
统一社会信用代码/组织机构代码
91320582302062995R

1亿VIP精品文档

相关文档