Las opciones de este panel definen la salida que generará el
compilador.
Consulte el tema Ayuda para el diálogo General para obtener información sobre los valores de
*CMDDFT y ayuda sobre los pulsadores.
- Opciones de generación
-
- Autorización
- Especifica la autorización sobre objeto de los usuarios que no tienen una
autorización específica sobre el objeto. El usuario puede no estar en
la lista de autorizaciones o su grupo no tener ninguna autorización específica
sobre el objeto. En este campo puede seleccionar uno de los siguientes
valores:
- *CMDDFT
- Corresponde a la autorización sobre objeto actualmente establecida como
valor por omisión en el sistema.
- *LIBCRTAUT
- La autorización de uso público sobre el objeto se toma de la palabra clave
CRTAUT de la biblioteca destino (la biblioteca que contiene el objeto
creado). Este valor se determina cuando se crea el objeto. Si el
valor CRTAUT de la biblioteca cambia después de que se cree el objeto, el
valor nuevo no afectará a ningún objeto existente.
- *ALL
- Proporciona autorización para todas las operaciones en el objeto excepto
aquéllas que estén restringidas al propietario o controladas por la
autorización de gestión de la lista de autorizaciones. El usuario puede
controlar la existencia del objeto, especificar seguridad para éste y realizar
funciones básicas en él, pero no puede transferir su propiedad.
- *CHANGE
- Proporciona toda la autorización sobre datos y la autorización para
ejecutar todas las operaciones en el objeto excepto aquéllas que estén
restringidas al propietario o controladas por autorización sobre objeto y
autorización sobre la gestión del objeto. Puede modificarse el objeto y
realizar funciones básicas en él.
- *EXCLUDE
- Los usuarios sin una autorización especial no pueden acceder al
objeto.
- *USE
- Proporciona autorización operativa sobre el objeto, autorización de
lectura y autorización para operaciones básicas en el objeto. Se impide
efectuar cambios en el objeto a los usuarios sin una autorización
específica.
- Release destino
- Especifica el nivel de release del sistema operativo para el objeto que se
está creando. En este campo puede seleccionar uno de los siguientes
valores:
- *CMDDFT
- Corresponde al nivel de release actualmente establecido como valor por
omisión en el sistema.
- *CURRENT
- Se piensa utilizar el objeto que se está compilando en un sistema
operativo con igual o mayor nivel de release que el sistema operativo
actualmente ejecutándose en el sistema. Por ejemplo, si el sistema de
compilación tiene un nivel de release V2R3M5, al seleccionar esta opción se
creará un objeto que podrá ejecutarse en un sistema que tenga instalado un
nivel de release V2R3M5 o superior.
- *PRV
- Se piensa utilizar el objeto que se está compilando en un sistema
operativo con un nivel de release inferior al del sistema operativo que se
utiliza en el sistema de compilación. Por ejemplo, si el sistema de
compilación tiene un nivel de release V2R3M5, al seleccionar esta opción se
creará un objeto que podrá ejecutarse en un sistema que tenga instalado un
nivel de release V2R2 o superior.
También puede especificar el nivel de release destino directamente en este
campo. Especifique el release utilizando el formato
VxRxMx, siendo Vx la versión, Rx
el release y Mx el nivel de modificación. Por ejemplo, V4R3M0
es versión 4, release 3, nivel de modificación 0.
- Optimización
- Especifica el nivel de optimización que se aplicará en el objeto
compilado. En este campo puede seleccionar uno de los siguientes
valores:
- *CMDDFT
- Corresponde al nivel de optimización actualmente establecido como valor
por omisión en el sistema.
- 10
- El código generado no se optimiza. Este nivel presenta el tiempo de
compilación más corto.
- 20
- En el código generado se realiza un cierto nivel de optimización.
- 30
- Se realiza una optimización completa en el código generado.
- 40
- Todas las optimizaciones que se efectúan en el nivel 30 se
llevan a cabo en el código generado. Además, se elimina de las rutinas
de prólogo y epílogo de procedimiento el código que permite realizar las
funciones del sistema de rastreo de instrucciones y rastreo de
llamadas. La eliminación de este código permite la creación de
procedimientos hoja. Los procedimientos hoja no contienen llamadas a
otros procedimientos y las llamadas a procedimientos hoja son
significativamente más rápidas que las llamadas a procedimientos
normales.
- Tamaño de enum
- Especifica la cantidad de almacenamiento que ocupará una
enumeración. En este campo puede seleccionar uno de los siguientes
valores:
- *CMDDFT
- Utiliza el tamaño de enumeración actualmente establecido como valor por
omisión en el sistema.
- 1
- Otorga un tamaño de 1 byte a todas las variables de enumeración.
- 2
- Otorga un tamaño de 2 bytes a todas las variables de enumeración.
- 4
- Otorga un tamaño de 4 bytes a todas las variables de enumeración.
- *INT
- Utiliza el tamaño de enumeración de ANSI C Standard (4 bytes con
signo).
- *SMALL
- Selecciona el tamaño más pequeño que acomodará la variable de
enumeración.
- Modelo de almacenamiento
- Especifica el tipo de almacenamiento (estático y automático) que el objeto
módulo utilizará. En este campo puede seleccionar uno de los siguientes
valores:
- *CMDDFT
- Corresponde al tamaño de enumeración actualmente establecido como valor
por omisión en el sistema.
- *SNGLVL
- El módulo o programa utilizará el modelo de almacenamiento de nivel único
tradicional. El almacenamiento estático y automático para el objeto se
asignará desde almacenamiento de nivel único, y sólo se puede acceder
utilizando punteros de 16 bytes. El módulo puede opcionalmente acceder
a almacenamiento dinámico de teraespacio si se especifica la opción
TERASPACE(*YES).
- *TERASPACE
- El módulo o programa utilizará el modelo de almacenamiento de
teraespacio. Este modelo de almacenamiento proporciona un espacio de
direcciones local de hasta 1 terabyte para un trabajo dado. Los
almacenamientos estático y automático para el objeto se asignarán desde un
teraespacio y serán accesibles utilizando punteros de 8 o 16 bytes.
- Perfil de usuario
- Especifica el perfil de usuario que se utiliza para ejecutar el programa
objeto compilado, incluyendo la autorización que tiene el programa objeto
sobre cada objeto. Se utiliza el perfil del propietario del programa o
del usuario del programa para controlar qué objetos utiliza el programa
objeto.
En este campo puede seleccionar uno de los siguientes valores:
- *CMDDFT
- Corresponde al perfil de usuario actualmente establecido como valor por
omisión en el sistema.
- *USER
- Se utiliza el perfil del usuario que ejecuta el programa objeto.
- *OWNER
- Se utilizan los conjuntos colectivos de autorizaciones sobre objeto de los
perfiles de usuario de tanto el propietario del programa como del usuario del
programa para encontrar y acceder a los objetos durante el tiempo de procesado
del programa objeto. Los objetos que crea el programa son propiedad del
usuario del programa.
- Tipo por omisión de char
- Si se marca este recuadro de selección, el compilador trata
char como un tipo con signo. De lo contrario,
char se trata como un tipo sin signo.
- Datos de perfil
- Si se marca este recuadro de selección, se activa el perfilado de programa
para el programa o módulo que se compila. Se genera código que recogerá
datos de perfil en el momento de la creación del objeto, incluido el número de
veces que se ejecutan los bloques básicos dentro de los procedimientos y el
número de veces que se llama a los procedimientos. La creación de
perfiles puede mejorar la utilización de líneas de antememoria y páginas de
memoria en las aplicaciones ILE, lo que lleva a tener un mejor rendimiento del
programa.
Notas:
- No puede crear un perfil de un objeto *MODULE autónomo.
- Esta opción sólo surte efecto cuando también se habilitan las siguientes
opciones del panel de opciones Generación:
- Optimización se establece en *FULL, 30 o
superior.
- Release destino se establece en *CURRENT.
- Opciones de teraespacio
-
- Direcciones de almacenamiento en teraespacio
- Si se marca este recuadro de selección, el compilador generará código
habilitado para manejar direcciones de almacenamiento en teraespacio
(Terabytes), incluidos los parámetros pasados desde otros programas y
programas de servicio habilitados para el teraespacio. La selección de
este recuadro de selección también habilita el siguiente recuadro de
selección:
- Funciones de almacenamiento en teraespacio
- Si se marca este recuadro de selección, el compilador utilizará versiones
de las funciones de almacenamiento, tales como malloc o
schmat, sin necesidad de efectuar cambios en el código fuente del
programa. El compilador define la macro __TERASPACE__ y correlaciona
ciertos nombres de funciones de almacenamiento con sus equivalentes
habilitadas para el teraespacio. Por ejemplo, la selección de esta
opción del compilador dará como resultado que se correlacione la función de
almacenamiento malloc() con _C_TS_malloc().
Si no se marca este recuadro de selección, el compilador
no utilizará versiones de las funciones de almacenamiento
habilitadas para el teraespacio, tales como malloc() o
schmat().
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.