Skip to main content

SA0023: Valores de retorno complejos

Determina valores de retorno complejos que no se pueden devolver con una copia de registro simple del procesador. Esto incluye estructuras, matrices y valores de retorno de tipo STRING (independientemente del tamaño de la memoria utilizada).

Justificación: Se trata de una advertencia de rendimiento. Si se devuelven valores grandes como resultado de una función, método o propiedad, el procesador los copia varias veces al ejecutar el código. Esto puede provocar problemas de tiempo de ejecución y debe evitarse siempre que sea posible. El rendimiento se puede mejorar pasando un valor estructurado como VAR_IN_OUT a una función o método y completándolo en la función o método.

Importancia: Media

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

Salida en el Mensajes vista:

  • sa_icon_message.png SA0023: Valores de retorno complejos