登录 注册
当前位置:主页 > 资源下载 > 49 > 直接转换基本系统数据类型的方法:从数据流图到模块结构图

直接转换基本系统数据类型的方法:从数据流图到模块结构图

  • 更新:2024-11-05 15:41:02
  • 大小:5.82MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Unix - 操作系统
  • 格式:PDF

资源介绍

其值不应被改变,但是在S V R 4和4 . 3 + B S D之下,可以调用setrlimit (2) 函数更改一 个运行进程的此值(也可用C Shell的l i m i t或Bourne shell和K o r nSh e l l的u l i m i t命令 更改)。如果系统支持这种功能,则可以将程序 2 - 3更改为每次调用此程序时就调 用s y s c o n f,而不只是第一次调用此程序时。 2.6 功能测试宏 正如前述,在头文件中定义了很多 P O S I X . 1和X P G 3的符号。但是除了P O S I X . 1和X P G 3定 义外,大多数实现在这些头文件中也加上了它们自己的定义。如果在编译一个程序时,希望它 只使用P O S I X定义而不使用任何实现定义的限制,那么就需定义常数 _ P O S I X _ S O U R C E,所有 P O S I X . 1头文件中都使用此常数。当该常数定义时,就能排除任何实现专有的定义。 常数_ P O S I X _ S O U R C E及其对应的常数 _ X O P E N _ S O U R C E被称之为功能测试宏( f e a t u r e test macro)。所有功能测试宏都以下划线开始。当要使用它们时,通常在 c c命令行中以下列方 式定义: cc -D_POSIX_SOURCE file.c 这使得在C程序包括任何头文件之前,定义了功能测试宏。如果我们仅想使用 P O S I X . 1定 义,那么也可将源文件的第一行设置为: #define _POSIX_SOURCE 1 另一个功能测试宏是:_ _STDC_ _,它由符合ANSI C标准的编译程序自动定义。这样就 允许我们编写ANSI C编译程序和非ANSI C编译程序都能编译的程序。例如,一个头文件可能 会是: #ifdef __ S T D C__ void *myfunc(const char *, int); # e l s e void *myfunc(); # e n d i f 这样就能发挥ANSI C原型功能的长处,要注意在开始和结束处的两个连续的下划线常常 打印成一个长下划线(如同上面一个样本源代码中一样 )。 2.7 基本系统数据类型 历史上,某些U N I X变量已与某些C数据类型联系在一起,例如,历史上主、次设备号存放 在一个1 6位的短整型中,8位表示主设备号,另外8位表示次设备号。但是,很多较大的系统需 要用多于2 5 6个值来表示其设备号,于是,就需要有一种不同的技术。(确实,S V R 4用3 2位表 示设备号:1 4位用于主设备号,1 8位用于次设备号。) 头文件< s y s / t y p e s . h >中定义了某些与实现有关的数据类型,它们被称之为基本系统数据类 3 2 U N I X环境高级编程