此面板上的选项定义由编译器生成的输出。
有关 *CMDDFT 设置和按钮帮助的信息,请参见一般对话帮助。
- 生成选项
- 权限
- 为没有对象特定权限的用户指定对象权限。用户可能不在权限列表上,或者其组没有对象的特定权限。可以在这个字段中选择下列其中一个值:
- *CMDDFT
- 引用系统当前设置为缺省值的对象权限。
- *LIBCRTAUT
- 对象的公用权限从目标库(包含已创建对象的库)的 CRTAUT
关键字获得。这个值是在创建对象时确定的。如果在创建对象之后库的 CRTAUT
值发生更改,新值不会影响任何现有对象。
- *ALL
- 提供对象的所有操作权限,除了那些受限于所有者或受权限列表管理权限控制的操作。所有用户都可以控制对象的存在,指定它的安全性并执行它的基本功能,但不可以转让它的所有权。
- *CHANGE
- 提供所有数据权限和执行对象的所有操作权限,除了那些受限于所有者或受对象权限和对象管理权限控制的操作。可以更改对象并对它执行基本功能。
- *EXCLUDE
- 没有特权的用户不能访问对象。
- *USE
- 提供对象操作权限、读权限以及对象的基本操作权限。没有特定权限的用户不能更改对象。
- 目标发行版
- 为正在创建的对象指定操作系统的发行版级别。可选择下列某一个值填入该字段中:
- *CMDDFT
- 参考系统当前缺省的发行版级别。
- *CURRENT
- 正在编译的对象所使用的操作系统与当前在系统上运行的操作系统的发行版级别相同或更高。例如,如果编译系统的发行版级别是
V2R3M5,则选择此选项会生成一个对象,它可以在安装了发行版级别为 V2R3M5
或更高级别的系统上运行。
- *PRV
- 正在编译的对象所使用的操作系统比编译系统上使用的操作系统低一个级别。例如,如果编译系统的发行版级别是
V2R3M5,则选择该选项将生成一个对象,它可以在安装了发行版级别为 V2R2
或更高级别的系统上运行。
也可以直接在这个字段中输入目标发行版级别。使用格式
VxRxMx 指定发行版,其中,Vx
是版本,Rx 是发行版,Mx 是修订版级别。例如,V4R3M0 是版本
4,发行版 3,修订本级别 0。
- 优化
- 指定应用于编译对象的优化级别。可选择下列某一个值填入该字段中:
- *CMDDFT
- 参考系统当前缺省的优化级别。
- 10
- 生成的代码不进行优化。这一级别的编译时间是最短的。
- 20
- 对生成的代码进行了一些优化
- 30
- 对生成的代码进行完全优化。
- 40
- 所有在级别 30
上进行的优化都是在生成的代码上执行的。此外,代码将从启用指令跟踪和调用跟踪系统功能的过程序言和收尾例程中删除。删除此代码就可以创建叶过程。叶过程不包含对其它过程的调用,而且对叶过程的过程调用要明显快于对普通过程的调用。
- 枚举大小
- 指定一个枚举将占用多少存储空间。可选择下列某一个值填入该字段中:
- *CMDDFT
- 使用系统当前缺省的枚举大小。
- 1
- 所有枚举变量的大小都为 1 字节。
- 2
- 所有枚举变量的大小都为 2 字节。
- 4
- 所有枚举变量的大小都为 4 字节。
- *INT
- 使用 ANSI C 标准的枚举大小(带正负号的 4 字节)。
- *SMALL
- 选择可以容纳枚举变量的最小大小。
- 存储器模型
- 指定模块对象将使用的存储器的类型(静态的和自动的)。可选择下列某一个值填入该字段中:
- *CMDDFT
- 参考系统当前缺省的枚举大小。
- *SNGLVL
- 模块或程序将使用传统的单级存储器模型。在单级存储器中分配对象的静态和自动存储器,并且只能使用
16 个字节的指针访问它。如果指定了 TERASPACE(*YES)
选项,则模块可以随意地访问兆兆动态存储器。
- *TERASPACE
- 模块或程序将使用兆兆空间存储器模型。这个存储器模型为单个作业提供多达 1
个太字节的本地地址空间。在兆兆空间中分配对象的静态和自动存储器,并且只能使用 8
个字节或 16 个字节的指针访问它。
- *INHERIT
- 创建的模块可以使用单级或兆兆存储器。使用的存储器类型将取决于主调程序所需的存储器类型。
- 中间语言数据
- 如果选择此复选框,则中间语言数据将和正在编译的对象模块一起存储。
- 缺省 char 类型
- 如果选择此复选框,则编译器将把 char 视为有符号的类型。否则,将
char 视为无符号的类型。
- 简要数据
- 如果选择此复选框,则将打开对正在编译的程序或模块的程序概要文件。生成的代码将收集对象创建时的概要文件数据,包括执行过程中的基本块的次数和对过程调用的次数。建立概要文件可以改进
ILE 应用程序中高速缓存 行和内存页面的使用,使程序的性能更好。
注:
- 独立的 *MODULE 对象不能建立概要文件。
- 仅当“生成”选项面板上的下列选项也启用之后此选项才有效。
- 将优化设置为 *FULL、30 或更高。
- 将目标发行版设置为 *CURRENT。
- 兆兆空间选项
- 兆兆空间存储地址
- 如果选择此复选框,则编译器将生成的代码能够处理兆兆空间存储地址,包括从其它支持兆兆空间的程序和服务程序传递参数。选择此复选框还将启用下列复选框:
- 兆兆空间存储函数
- 如果选择此复选框,则编译器将使用兆兆空间版本的存储函数,如
malloc 或 schmat,而无须更改程序源代码。编译器定义了
__TERASPACE__
宏,并将某些存储函数名称映射到其相应的支持兆兆空间的地方。例如,选择此编译器选项,会使
malloc() 存储函数映射到 _C_TS_malloc()。
如果没有选中此复选框,则编译器就不能使用支持兆兆空间版本的存储函数,如
malloc() 或 schmat()。
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.