Panneau Génération

Les options de ce panneau définissent la sortie générée par le compilateur.

Reportez-vous à Boîte de dialogue - Aide générale pour de plus amples informations sur les paramètres *CMDDFT et l'aide des boutons.

Options de génération

Droits
Indique les droits sur les objets que vous accordez aux utilisateurs qui ne disposent pas de droits spécifiques sur l'objet. Un utilisateur peut ne pas figurer sur la liste d'autorisation et son groupe peut ne pas disposer de droits spécifiques sur l'objet. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous aux droits sur les objets actuellement définis par défaut pour votre système.

*LIBCRTAUT
Les droits PUBLIC sur l'objet sont issus du mot clé CRTAUT de la bibliothèque cible (la bibliothèque qui contient l'objet créé). Cette valeur est déterminée à la création de l'objet. Si la valeur CRTAUT de la bibliothèque est différente après la création de l'objet, la nouvelle valeur n'affecte pas les objets existants.

*ALL
Cette valeur fournit les droits de toutes les opérations effectuées sur l'objet programme, à l'exception des droits réservés au propriétaire ou des droits contrôlés par l'autorité de gestion de la liste d'autorisation. L'utilisateur peut contrôler l'existence d'un objet, définir sa sécurité et lui appliquer les fonctions de base, mais il ne peut pas transmettre sa propriété.

*CHANGE
Cette valeur fournit les droits sur toutes les données ainsi que les droits sur toutes les opérations effectuées sur l'objet programme, à l'exception des droits réservés au propriétaire ou des droits contrôlés par l'autorité de gestion de la liste d'autorisations. L'objet peut être modifié et des fonctions de base peuvent lui être appliquées.

*EXCLUDE
Les utilisateurs qui ne disposent pas d'autorisations spéciales ne peuvent pas accéder à l'objet.

*USE
Cette valeur fournit les droits opérationnels sur l'objet, ceux de lecture et les droits de réaliser les opérations de base sur l'objet. Les utilisateurs qui ne disposent pas d'autorisations spécifiques ne sont pas autorisés à modifier l'objet.

Edition cible
Spécifie le niveau d'édition du système d'exploitation de l'objet créé. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise le niveau d'édition actuellement défini par défaut pour votre système.

*CURRENT
L'objet compilé sera utilisé sur un système d'exploitation avec un niveau d'édition égal ou supérieur au système d'exploitation en cours d'utilisation sur votre système. Par exemple, si le système de compilation est au niveau d'édition V2R3M5, la sélection de cette option produira un objet pouvant fonctionner sur un système dont le niveau d'édition est V2R3M5 ou supérieur.

*PRV
L'objet compilé sera utilisé sur un système d'exploitation antérieur d'un niveau au système d'exploitation utilisé sur le système de compilation. Par exemple, si le système de compilation est au niveau d'édition V2R3M5, la sélection de cette option produira un objet pouvant fonctionner sur un système dont le niveau d'édition est V2R2 ou supérieur.

Vous pouvez également entrer le niveau d'édition cible directement dans cette zone. Indiquez l'édition à l'aide du format VxRxMx, où Vx désigne la version, Rx l'édition et Mx le niveau de modification. Par exemple, V4R3M0 correspond à la version 4, l'édition 3 et le niveau de modification 0.

Optimisation
Spécifie le niveau d'optimisation appliqué à l'objet compilé. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous au niveau d'optimisation actuellement défini par défaut pour votre système.

10
Le code généré n'est pas optimisé. Ce niveau offre le temps de compilation le plus court.

20
Le code généré est légèrement optimisé

30
Le code généré est totalement optimisé.

40
Toutes les optimisations de niveau 30 sont effectuées sur le code généré. En outre, le code est éliminé des routines de prologue et d'épilogue de la procédure qui activent les fonctions système de tracé d'instruction et de tracé d'appel. L'élimination de ce code permet la création de procédures terminales (en fin de branche). Les procédures terminales ne comportent pas d'appels vers d'autres procédures et les appels vers ces procédures sont sensiblement plus rapides que les appels vers les procédures normales.

Taille énumération
Spécifie la quantité de mémoire occupée par une énumération. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise la taille d'énumération définie actuellement par défaut sur votre système.

1
Toutes les variables enum ont une taille de 1 octet.

2
Toutes les variables enum ont une taille de 2 octets.

4
Toutes les variables enum ont une taille de 4 octets.

*INT
Utilise la taille d'énumération standard C ANSI C (4 octets signés).

*SMALL
Sélectionne la plus petite taille convenant à la variable enum.

Modèle de stockage
Indique un type de stockage, ou mémoire, (statique ou automatique) que l'objet module utilisera. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise la taille d'énumération définie actuellement par défaut sur votre système.

*SNGLVL
Le module ou le programme utilisera le modèle d'espace adressable unique traditionnel. Les mémoires statique et automatique sont allouées à l'objet à partir de l'espace adressable unique, et ne sont accessibles qu'à l'aide de pointeurs 16 octets. Le module peut éventuellement accéder à la mémoire dynamique à téraoctets si l'option TERASPACE(*YES) est spécifiée.

*TERASPACE
Le module ou le programme utilisera le modèle d'espace à téraoctets. Ce dernier offre un espace d'adressage local pouvant atteindre 1 téraoctet pour un travail unique. Les mémoires statique et automatique sont allouées à l'objet à partir de l'espace à téraoctets, et sont accessibles à l'aide de pointeurs 8 ou 16 octets.

*INHERIT
Le module créé peut utiliser le modèle d'espace adressable unique ou à téraoctets. Le type de mémoire utilisé dépend du type de mémoire requis par le demandeur.

Données de langage intermédiaire
Si cette case est cochée, les données de langage intermédiaire sont stockées avec le module objet compilé.

Type de caractères par défaut
Si cette case est cochée, le compilateur traite char comme un type signé. Dans le cas contraire, char est traité comme un type non signé.

Données de profilage
Si cette case est cochée, le profilage du programme est activé pour le programme ou le module compilé. Le compilateur génère du code qui collecte les données de profilage au moment de la création de l'objet, y compris le nombre d'exécutions des blocs de base dans les procédures, ainsi que le nombre d'appels de procédures. Le profilage peut améliorer l'utilisation des lignes de mémoire cache et des pages de mémoire dans les applications ILE, améliorant ainsi les performances du programme.

Remarques :

  1. Vous ne pouvez pas profiler un objet *MODULE indépendant.

  2. Cette option n'est prise en compte que si les options suivantes du panneau Options de génération sont activées :
    • Optimisation est définie sur *FULL, 30 ou supérieur.
    • dition cible est définie sur *CURRENT.

Options de l'espace mémoire à téraoctets

Adresses de l'espace mémoire à téraoctets
Si cette case est cochée, le compilateur génère un code capable de gérer les adresses de l'espace mémoire à téraoctets, y compris des paramètres transmis par d'autres programmes de ce type et des programmes de service. La sélection de cette case active également la case à cocher suivante :

Fonctions de l'espace mémoire à téraoctets
Si cette case est cochée, le compilateur utilise les versions à téraoctets des fonctions de mémoire, telles que malloc ou schmat, sans nécessiter de modifications du code source du programme. Le compilateur définit la macro __TERASPACE__ et mappe les noms de certaines fonctions de mémoire vers leurs équivalents téraoctets. Par exemple, la sélection de cette option de compilation mappe la fonction de mémoire malloc() vers _C_TS_malloc().

Si cette case n'est pas cochée, le compilateur n'utilise pas les versions téraoctets des fonctions de mémoire, telles que malloc() ou schmat().