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.
- Profil utilisateur
- Indique le profil utilisateur utilisé lorsque l'objet programme
compilé est exécuté, y compris les droits de l'objet programme sur chaque
objet. Le profil du propriétaire ou de l'utilisateur du programme
permet de contrôler les objets utilisés par l'objet programme.
Vous pouvez sélectionner l'une des valeurs suivantes dans cette
zone :
- *CMDDFT
- Fait référence au profil utilisateur défini par défaut pour votre
système.
- *USER
- Le profil de l'utilisateur qui exécute l'objet programme est
utilisé.
- *OWNER
- Les ensembles communs de droits sur les objets définis dans les profils du
propriétaire ou de l'utilisateur du programme sont utilisés pour
rechercher les objets et y accéder lors de l'exécution du
programme. Les objets créés par le programme appartiennent à
l'utilisateur du programme.
- 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 :
- Vous ne pouvez pas profiler un objet *MODULE indépendant.
- 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().
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.