ARGOPT(*YES)
Au lieu de disséminer des directives #pragma dans votre code, vous pouvez simplement préciser, au moment du liage, votre souhait de voir l’optimisation d’arguments utilisée à chaque occasion. Pour cela, ajoutez simplement ARGOPT(*YES) à la commande CRTPGM ou CRTSRVPGM, et tout votre programme sera passé au crible pour détecter les occasions d’utiliser l’optimisation d’arguments.
C’est bien plus facile, non ? Et comme cette méthode ne demande aucun changement du code source, elle vaut pour tout votre code ILE, pas seulement sur C et C++. Ce pourrait être votre solution favorite dans la plupart des cas.
Sachez toutefois qu’elle présente quelques inconvénients. Tout d’abord, le liage du programme prendra plus de temps. Quand vous spécifiez ARGOPT(*YES), les appels de procédure dans les modules de tous vos programmes doivent être analysés. Et, s’il y a des occasions d’optimisation d’arguments dans un module, celui-ci sera re-traité dans le but de changer les références aux pointeurs d’espace en références aux adresses d’espace. Comme pour le profilage de programmes, vous devriez opter pour l’usage de ARGOPT(*YES)ARGOPT(*YES) plus tard dans le cycle de développement, une fois que l’application est stable.
L’analyse automatique a aussi quelques limites. Vous ne pouvez pas être sûr que l’analyseur détecte tous les appels vers les procédures qui peuvent être appelées indirectement par des pointeurs de procédures. De tels appels incluent des appels de méthodes virtuelles en C++. S’il y a des appels de procédures indirects dans vos programmes, vous pouvez encore utiliser ARGOPT(*YES) pour faire le gros du travail, mais il faudra ajouter des directives #pragma argopt pour appliquer tout le bénéfice aux appels indirects.
Enfin, ARGOPT(*YES) n’est disponible qu’à partir de la version 6.1. Avec une version antérieure, #pragma argopt est la seule possibilité.
Sécuriser sa téléphonie IP n’est plus une option. Avec la généralisation de la téléphonie cloud et des infrastructures VoIP, la voix circule désormais sur les mêmes réseaux que les données…
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…