Skip to main content

SA0023: Valori di ritorno complessi

Determina valori di ritorno complessi che non possono essere restituiti con una semplice copia del registro del processore. Ciò include strutture, array e valori restituiti di tipo STRING (indipendentemente dalle dimensioni dello spazio di archiviazione occupato).

Motivazione: Si tratta di un avviso di prestazione. Se vengono restituiti valori di grandi dimensioni come risultato di una funzione, metodo o proprietà, il processore li copia più volte durante l'esecuzione del codice. Ciò può portare a problemi di runtime e dovrebbe essere evitato quando possibile. Le prestazioni possono essere migliorate passando un valore strutturato come VAR_IN_OUT a una funzione o un metodo e compilandolo nella funzione o nel metodo.

Importanza: Media

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

Uscita in Messaggi vista:

  • sa_icon_message.png SA0023: Valori restituiti complessi