Panneau Autre

Ce panneau contient plusieurs options relatives au langage, à l'environnement local et au système de fichiers.

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.

Niveau de langage
Spécifie le groupe de prototypes de fonctions de bibliothèque inclus lors de la compilation du source. Si aucun niveau de langage n'est spécifié et qu'aucune directive #pragma langlvl n'est encodée dans le membre source, le niveau de langage est défini par défaut sur *EXTENDED. Lorsque vous indiquez un niveau de langage, il remplace la directive #pragma langlvl définie dans le membre source.

Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

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

*EXTENDED
Définit la macro de préprocesseur __EXTENDED__ et annule la définition d'autres variables de niveau de langage. Les extensions de langage standard ANSI C et IBM sont disponibles. Ce paramètre doit être utilisé lorsque toutes les fonctions du langage C doivent être disponibles.

*ANSI
Définit les macros du préprocesseur __ANSI__ et __STDC__, et annule la définition d'autres variables de niveau de langage. Seule l'extension CC++ standard AINSI est disponible.

Support de l'environnement local
Spécifie le type de support d'environnement local à utiliser par l'objet créé. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous au support d'environnement local défini actuellement par défaut pour votre système.

*CLD
Les objets compilés avec cette option utilisent le support d'environnement local fourni avec des versions antérieures du module d'exécution et du compilateur ILE C/C++ en utilisant des objets d'environnement local de type *CLD.

*LOCALE
Les objets compilés avec cette option utilisent le support d'environnement local fourni avec le module d'exécution et le compilateur ILE C/C++ en utilisant des objets d'environnement local de type *LOCALE. Cette sélection n'est correcte que pour les programmes fonctionnant sous V3R7 ou des versions ultérieures du système d'exploitation OS/400.

*LOCALEUCS2
Les objets compilés avec cette option stockent les littéraux à caractères étendus au format 2 octets dans le CCSID Unicode (13488).

Options du système de fichiers intégré
Utilisez cette zone pour sélectionner les options du système de fichiers intégré à utiliser pour les opérations d'E-S sur le flux C dans l'objet créé. Sélectionnez l'une des valeurs suivantes dans la zone Opérations d'E-S sur le flux C :

*CMDDFT
Reportez-vous aux options du système de fichiers intégré définies actuellement par défaut sur votre système.

*NOIFSIO
L'objet créé utilisera le système de fichiers de gestion de données AS/400 pour les opérations d'E-S sur le flux C.

*IFSIO
L'objet créé utilisera les API du système de fichiers intégré pour les opérations d'E-S sur le flux C sur les fichiers de moins de deux gigaoctets.

*IFS64IO
L'objet créé utilisera les API du système de fichiers intégré 64-bits prenant en charge les opérations d'E-S sur le flux C sur les fichiers de plus de deux gigaoctets. L'utilisation de cette option active également, de manière implicite, la sélection *IFSIO.

*ASYNCSIGNAL
Active le mappage d'exécution entre les fonctions de signalisation synchrones et les fonctions de signalisation asynchrones. L'indication de cette option entraîne le mappage des fonctions synchrones signal() et raise() avec les fonctions asynchrones sigaction() et kill() par le module d'exécution C.

*NOASYNCSIGNAL
N'active pas le mappage d'exécution entre les fonctions de signalisation synchrones et les fonctions de signalisation asynchrones.

Modèle de données
Indique comment les types de pointeur sont interprétés en l'absence d'un modificateur explicite. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT

*P128
La taille des types de données int, long et pointer sont respectivement de 4, 4 et 16 octets.

*LLP64
La taille des types de données int, long et pointer sont respectivement de 4, 4 et 8 octets, et le compilateur définit la macro __LLP64_IFC__.

Remarques :

  1. Pour utiliser le paramètre *LLP64, les adresses mémoire à téraoctets (panneau Options de génération) doivent être activées.

  2. Le paramètre *LLP64 est ignoré si le compilateur s'adresse à une édition antérieure à V5R1M0.

  3. Les modificateurs de type __ptr64 et __ptr128 et le pragma du modèle de données remplacent le paramètre de cette option de compilateur.

Structure des paquets
Indique les règles d'alignement à utiliser pour les membres de structure, d'union et de classe dans le code source. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT

1
Les structures et les unions sont condensées dans des limites de 1 octet.

2
Les structures et les unions sont condensées dans des limites de 2 octets.

4
Les structures et les unions sont condensées dans des limites de 4 octets.

8
Les structures et les unions sont condensées dans des limites de 8 octets.

16
Les structures et les unions sont condensées dans des limites de 16 octets.

*NATURAL
L'alignement naturel des membres de structure est utilisé.

Option service compilateur
Indique une ou plusieurs options de service compilateur. Les chaînes d'option admises sont décrites dans des notes d'informations et des lettres d'accompagnement de PTF. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise les options de service compilateur définies actuellement par défaut sur votre système.

*NONE
Aucune option de service compilateur n'est sélectionnée.

Options de microcode sous licence
Spécifie une ou plusieurs options de compilation du microcode sous licence. Ce paramètre permet au programmeur chevronné, capable de déterminer les avantages et inconvénients potentiels de chaque option de compilation, de sélectionner individuellement des options de compilation. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise les options de microcode sous licence définies actuellement par défaut sur votre système.

*NONE
Aucune option de compilation n'est sélectionnée.

CCSID cible
Indique l'ID codé du jeu de caractères (CCSID) cible du module résultant. Le CCSID du module identifie le CCSID dans lequel les données de type caractère du module sont stockées. Cela comprend les données de type caractère désignant les littéraux, les commentaires et les noms d'identificateur décrits par le source, à l'exception des noms d'identificateur des CCSID 5026, 930 et 290. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Le paramètre CCSID défini actuellement par défaut sur votre système est utilisé.

*SOURCE
Le CCSID du fichier source principal est utilisé.

*JOB
Le CCSID du travail en cours est utilisé.

*HEX
Le CCSID 65535 est utilisé. Il indique que les données de type caractère sont traitées comme des données binaires et ne sont pas converties.

Vous pouvez également entrer un CCSID directement dans cette zone.

Remarques :

  1. La conversion alphanumérique ne s'applique qu'aux chaînes char et non aux chaînes wchar_t.

  2. L'utilisation de la directive #pragma convert remplacera la conversion alphanumérique dans la section de code à laquelle s'applique la directive.

  3. Cette option est ignorée lors de la compilation dans le cas d'une édition cible antérieure à V5R1M0.

Inclusion de répertoires
Indique les répertoires dans lesquels rechercher les fichiers d'inclusion. Outre les répertoires indiqués, le système cherche également les fichiers d'inclusion utilisateur dans le répertoire source. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous aux paramètres actuellement définis par défaut sur votre système pour la recherche des répertoires contenant les fichiers d'inclusion.

*NONE
Aucun autre répertoire que le répertoire source n'est utilisé pour la recherche des fichiers d'inclusion.

Pour ajouter un nouveau répertoire à la liste de recherche, entrez le nom du répertoire dans la zone d'entrée et cliquez sur Ajout. Pour supprimer un répertoire, sélectionnez-le dans la liste et cliquez sur Supprimer.

Définition des macros du préprocesseur
Définit les macros du préprocesseur appliquées avant que le compilateur ne traite le fichier. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous aux options de définition définies actuellement par défaut sur votre système.

*NONE
Aucune macro n'est définie.

Pour définir une macro, entrez la définition de macro dans la zone appropriée et cliquez sur Ajouter. Pour supprimer une macro, sélectionnez la macro dans la liste et cliquez sur Supprimer.

Remarques :

  1. Vous pouvez définir jusqu'à 32 macros.

  2. La longueur maximum d'une macro est de 80 caractères.

  3. Des guillemets simples doivent être utilisés pour inclure des macros sensibles à la casse.

  4. Les macros définies par cette option remplacent les définitions de macro du même nom dans le source. Le compilateur affichera un message d'avertissement si cela se produit.

  5. Les macros de type fonction telles que #define max(a,b) ((a)>;(b):(a)?(b)) ne peuvent pas être définies avec cette option.

Informations de dépendance
Spécifie si les informations de dépendance générées sont stockées et, le cas échéant, l'endroit où elles sont stockées. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous aux paramètres des informations de dépendance définies actuellement par défaut sur votre système.

*NODEP
Aucune information de dépendance n'est générée.

nom de fichier
Les informations de dépendance générées sont stockées dans le fichier sélectionné.