Panel Generación

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; a menos que el valor de enumeración > 231-1).

*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:

  1. No puede crear un perfil de un objeto *MODULE autónomo.

  2. 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().

Opciones de plantilla

Directorio de inclusión temporal
Esta selección especifica dónde se colocan las plantillas resultantes de la instanciación automática de plantillas. Puede especificarse la siguiente opción:

*CMDDFT
Los archivos de instanciación de plantillas se colocan en la ubicación establecida por omisión actualmente en el sistema.

vía_al_directorio
Los archivos de instanciación de plantillas se colocan en el directorio que especifique. Los archivos de instanciación de plantillas creados tienen el nombre raíz del archivo de cabecera en el que se ha encontrado la plantilla y la extensión .C. Si ya existen archivos de instanciación de plantillas, el compilador realiza una búsqueda para ver si la instanciación de plantilla dada existe antes de añadirla a un archivo de instanciación.

La vía al directorio puede ser relativa al directorio actual, o ser una vía de directorio absoluta. Si el directorio especificado no existe, se creará. Sin embargo, se produce una condición de error si la vía de directorio especificada contiene un directorio que no existe; por ejemplo, ocurriría con /source/subdir1/tempinc si subdir1 no existiera.

Máximo de cabeceras generadas
Especifica el número máximo de archivos de inclusión de plantilla a generar para cada archivo de cabecera.

Comprobación de validez de plantilla
Especifica el nivel de comprobación de validez aplicado a las plantillas. Se pueden especificar las siguientes opciones:

*CMDDFT
La validez de las plantillas se comprueba de acuerdo con el valor por omisión establecido para el sistema.

*NO
No se comprueba la validez de las implementaciones de plantillas.

*WARN
Las implementaciones de plantillas se analizan, y se emiten mensaje de aviso para los errores semánticos.

*ERROR
Los problemas en las implementaciones de plantillas se tratan como errores, aunque la plantilla no se instancie.