As opções nesse painel definem a saída gerada pelo compilador.
Consulte Ajuda do Diálogo Geral para obter informações sobre as definições do
*CMDDFT e a ajuda do botão de comando.
- Opções de geração
-
- Autoridade
- Especifica a autoridade do objeto aos usuários que não tenham autoridade
específica para o objeto. O usuário pode não estar na lista de
autorização ou o grupo ao qual pertence não possui autoridade específica para
o objeto. É possível selecionar um dos seguintes valores neste
campo:
- *CMDDFT
- Refere-se à autoridade do objeto atualmente definida como padrão para o
sistema.
- *LIBCRTAUT
- A autoridade pública do objeto é tirada da palavra-chave CRTAUT da
biblioteca de destino (A biblioteca que contém o objeto criado). Esse
valor é determinado quando o objeto for criado. Se o valor CRTAUT da
biblioteca for alterado depois que o objeto for criado, o novo valor não
afetará nenhum dos objetos existentes.
- *ALL
- Fornece autoridade para todas as operações do objeto, menos para as que
estiverem limitadas ao proprietário ou controladas pela autoridade de
gerenciamento da lista de autorização. Qualquer usuário pode controlar
a existência do objeto, especificar a segurança deste e nele realizar funções
básicas, mas não pode transferir sua propriedade.
- *CHANGE
- Fornece toda a autoridade de dados e a autoridade para a realização de
todas as operações no objeto, menos as que estiverem limitadas ao proprietário
ou controladas pela autoridade do objeto e pela autoridade de
gerenciamento. O objeto pode ser alterado e nele serem realizadas
funções básicas.
- *EXCLUDE
- Os usuários sem autorização especial não podem acessar o objeto.
- *USE
- Fornece autoridade operacional do objeto, autoridade de leitura e
autoridade para operações básicas no objeto. Os usuários sem autoridade
específica são impedidosde alterar o objeto.
- Release de destino
- Especifica o nível do release do sistema operacional para o objeto que
está sendo criado. É possível selecionar um dos seguintes valores neste
campo:
- *CMDDFT
- Refere-se ao nível do release atualmente definido como padrão para o seu
sistema.
- *CURRENT
- O objeto que está sendo compilado destina-se a ser utilizado em um sistema
operacional com o mesmo nível de release ou maior, que o sistema operacional
atualmente em execução no seu sistema. Por exemplo, se o sistema de
compilação estiver no nível do release V2R3M5, selecionar essa opção produzirá
um objeto que poderá ser executado em um sistema com o nível do release V2R3M5
ou maior, instalado.
- *PRV
- O objeto que está sendo compilado destina-se a ser usado em um sistema
operacional com um nível imediatamente anterior ao nível do sistema
operacional que está sento utilizado no sistema de compilação. Por
exemplo, se o sistema de compilação estiver no nível do release V2R3M5,
selecionar essa opção produzirá um objeto que poderá ser executado em um
sistema com o nível do release V2R2 ou maior, instalado.
Você também pode informar o nível do release de destino diretamente nesse
campo. Especifique o release usando o formato
VxRxMx, sendo que Vx é a versão,
Rx é o release e Mx é o nível de modificação. Por
exemplo, V4R3M0 é a versão 4, release 3, nível de modificação 0.
- Otimização
- Especifica o nível de otimização aplicado ao objeto compilado. É
possível selecionar um dos seguintes valores neste campo:
- *CMDDFT
- Refere-se ao nível de otimização atualmente definido como padrão para o
seu sistema.
- 10
- O código gerado não é otimizado. Esse nível tem o menor tempo de
compilação.
- 20
- Alguma otimização é executada no código gerado
- 30
- A otimização total é executada no código gerado.
- 40
- Todas as otimizações feitas no nível 30 são executadas no
código gerado. Além disso, o código é eliminado das rotinas prólogo e
epílogo do procedimento que ativam o rastreio da instrução e chamam as funções
do sistema de rastreio. Eliminar esse código ativa a criação dos
procedimentos-folha. Os procedimentos-folha não contêm chamadas para
outros procedimentos e chamadas de procedimentos para procedimentos-folha são
significativamente mais rápidas que as as chamadas para procedimentos
normais.
- Tamanho de Enum
- Especifica a quantidade de armazenamento ocupada por enum. É
possível selecionar um dos seguintes valores neste campo:
- *CMDDFT
- Utiliza o tamanho de enum atualmente definido como padrão para o
sistema.
- 1
- Faz todas as variáveis de enum terem 1 byte de tamanho.
- 2
- Faz todas as variáveis de enum terem 2 bytes de tamanho.
- 4
- Faz todas as variáveis de enum terem 4 bytes de tamanho.
- *INT
- Utiliza o tamanho padrão C de enum ANSI (Assinado com 4 bytes).
- *SMALL
- Seleciona o menor tamanho que acomodará a variável de enum.
- Modelo de armazenamento
- Especifica o tipo de armazenamento (estático e automático) que o objeto
module usará. É possível selecionar um dos seguintes valores neste
campo:
- *CMDDFT
- Refere-se ao tamanho enum atualmente definido como o padrão para o seu
sistema.
- *SNGLVL
- O módulo ou programa usará o modelo de armazenamento de nível único
tradicional. Os armazenamentos estático e automático do objeto serão
alocados a partir do armazenamento de nível único e poderão ser acessados
somente com o uso de indicadores de 16 bytes. O módulo poderá
opcionalmente acessar o armazenamento dinâmico de teraespaço se a opção
TERASPACE(*YES) estiver especificada.
- *TERASPACE
- O módulo ou programa usará o modelo de armazenamento de teraespaço.
Esse modelo de armazenamento fornece até 1 terabytes de espaço de
endereçamento local para um único job. Os armazenamentos estático e
automático para o objeto serão alocados a partir do teraespaço e poderão ser
acessados usando indicadores de 8 e 16 bytes.
- *INHERIT
- O módulo criado poderá usar uma entre estas opções: nível único ou
armazenamento de teraespaço. O tipo de armazenamento usado dependerá do
tipo de armazenamento solicitado pelo originador da chamada.
- Dados de linguagem intermediária
- Se esta caixa de entrada estiver selecionada, os dados de linguagem
intermediária são armazenados com o módulo de objeto que estiver sendo
compilado.
- Tipo char padrão
- Se esta caixa de entrada estiver selecionada, o compilador trata
char como um tipo assinado. Caso contrário, char
será tratado como um tipo não assinado.
- Dados de perfilamento
- Se essa caixa de entrada estiver selecionada, o perfil do programa estará
ativado para o programa ou módulo que está sendo compilado. O código
que coletará os dados do perfil no momento da criação do objeto será gerado,
incluindo o número de vezes que os dados do bloco básico dentro dos
procedimentos são executados e o número de vezes que os procedimentos são
chamados. Os perfis podem melhorar o uso das linhas de cache e das
páginas de memória nos aplicativos ILE, conduzindo ao melhor desempenho do
programa.
Notas:
- Você não pode criar o perfil de um objeto *MODULE autônomo.
- Essa opção tem efeito somente quando as seguintes opções no painel de
opções Geração também estão ativadas:
- A Otimização está definida para *FULL, 30
ou superior.
- O Release de destino está definido para
*CURRENT.
- Opções do teraespaço
-
- Endereços de armazenamento de teraespaço
- Se essa caixa de entrada estiver selecionada, o compilador gerará o código
ativado para tratar dos endereços de armazenamento de teraespaço, incluindo os
parâmetros passados a partir de outros programas ativados de teraespaço e
programas de serviço. Selecionar essa caixa de entrada ativa a seguinte
caixa de entrada:
- Funções de armazenamento de teraespaço
- Se essa caixa de entrada estiver selecionada, o compilador usará as
versões de teraespaço das funções de armazenamento, tais como
malloc ou schmat, sem requerer alterações no código
fonte do programa. O compilador define a __TERASPACE__ macro e mapeia
determinados nomes de função de armazenamento para seus equivalentes ativados
para teraespaço. Por exemplo, selecionar essa opção do compilador faz a
função de armazenamento malloc() ser mapeada para
_C_TS_malloc().
Se essa caixa de entrada não estiver selecionada, o compilador
não usará as versões de funções de armazenamento ativadas para
teraespaço, tais como malloc() ou schmat().
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.