SA0016: Lacune nelle strutture
Determina le lacune nelle strutture o nei blocchi funzione causati dai requisiti di allineamento del sistema target attualmente impostato. Se possibile, dovresti rimuovere gli spazi vuoti riorganizzando gli elementi della struttura o riempiendoli con un elemento fittizio. Se ciò non è possibile, è possibile utilizzare la regola per le strutture interessate attraverso il pragma analysis
disattivare.
Motivo: a causa dei diversi requisiti di allineamento su piattaforme diverse, può esserci un layout diverso in memoria per tali strutture. Il codice può quindi comportarsi in modo diverso a seconda della piattaforma.
Importanza: Bassa
TYPE Unpadded_Structure : STRUCT xTest : BOOL; iTest : INT; // SA0016 byTest : BYTE; wTest : WORD; END_STRUCT END_TYPE
PROGRAM PLC_PRG VAR myStruct : Unpadded_Structure; END_VAR
myStruct.iTest := 0;
Uscita in Messaggi vista:
SA0016: La struttura 'Unpadded_Structure' deve essere riempita (pack-mode=8)