Eviter les problèmes d'alignement de zone dans les structures C/C++

Toutes les zones définies dans les structures ILE C/C++ sont alignées sur leurs limites naturelles. Par exemple, les zones int ont une longueur de quatre octets et sont stockées sur des limites de quatre octets. Si vous créez un fichier à description externe, le système n'impose pas l'alignement des limites des données à description externe. La structure peut avoir besoin d'être condensée car les structures condensées correspondent à l'alignement des données à description externe.

Si les zones définies dans le DDS sont alignées (par exemple, toutes sont des zones alphanumériques), vous pouvez utiliser la définition de type générée sans empaqueter la structure.

Pour éviter un problème d'alignement, spécifiez l'option _P pour générer une structure condensée. Par exemple, pour inclure une structure de définition de type condensé des zones input et key pour le format d'enregistrement custrec à partir du fichier EXAMPLE/CUSTMSTL, les instructions suivantes doivent apparaître dans votre programme dans l'ordre indiqué ci-dessous:
   #pragma mapinc("custmf","EXAMPLE/CUSTMSTL(custrec)","input key","_P")
   ...
   #include "custmf"