Que ceux d’entre vous qui ne sont pas familiarisés
avec les pointeurs sachent qu’ils
les utilisent pourtant depuis longtemps.
Quand on définit un champ,
on définit en réalité un pointeur : statique
certes, mais pointeur quand même. Quand le programme s’exécute, le système
alloue le stockage chargé de contenir la définition du champ et associe
l’adresse de l’emplacement du stockage au nom du champ.
Un pointeur est une variable dynamique qui peut contenir toute adresse de
stockage choisie pendant l’exécution. Un pointeur de procédure est un
pointeur qui contient l’adresse d’une procédure exécutable (c’est-à -dire un
programme, la procédure principale d’un module, ou l’une de ses sous-procédures) qui est liée au programme en
cours d’exécution.
Si vous définissez Field_A comme un
champ alphabétique de 11 octets initialisé à
« Hello World », il y a quelque part dans le
stockage un emplacement contenant
« Hello World ». Si vous voulez le trouver,
vous pouvez utiliser la fonction intégrée
%Addr (obtenir l’adresse de la variable)
pour l’extraire :
Eval Ptr = %Addr(Field_A)
Si vous voulez déterminer l’emplacement
d’une procédure nommée Proc_A qui
affiche « Hello World », vous pouvez utiliser
la fonction intégrée %PAddr (obtenir
l’adresse de procédure) :
Eval Ptr = %PAddr('Proc_A')
Il existe une différence entre les pointeurs et les pointeurs
de procédure : s’il est vrai que vous n’avez pas besoin
de définir les variables pointeur dans le code, vous devez définir
les pointeurs de procédure comme type procptr – c’est
un champ de 16 octets indiqué par un astérisque
(*) dans la colonne 40 de votre carte
D.
roc (provenant de l’exemple ci-dessus) se
présenterait ainsi :
D Proc S * procptr inz(*null)
Pour beaucoup de DSI, le cloud a longtemps été réduit à un projet de migration : déplacer des serveurs on-premise vers un fournisseur externe. Une fois cette étape franchie, la…
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…
