Skip to main content

SA0023 : valeurs de retour complexes

Détermine les valeurs de retour complexes qui ne peuvent pas être renvoyées avec une simple copie du registre du processeur. Cela inclut les structures, les tableaux et les valeurs de retour de type STRING (quelle que soit la taille de la mémoire utilisée).

Justification : Il s'agit d'un avertissement de performance. Si des valeurs importantes sont renvoyées à la suite d'une fonction, d'une méthode ou d'une propriété, le processeur les copie plusieurs fois lors de l'exécution du code. Cela peut entraîner des problèmes d’exécution et doit être évité autant que possible. Les performances peuvent être améliorées en transmettant une valeur structurée comme VAR_IN_OUT à une fonction ou une méthode et en le remplissant dans la fonction ou la méthode.

Importance : Moyenne

Exemple 35. Exemple
TYPE LargeStructure :
STRUCT
    a : LINT;
    b : BOOL;
END_STRUCT
END_TYPE
FUNCTION Large_Return_Value_FUNC : LargeStructure   // SA0023

Sortie dans le messages voir:

  • sa_icon_message.png SA0023 : valeurs de retour complexes