SA0016: Yapılardaki boşluklarPermalink

Ayarlanan hedef sistemin hizalama gereksinimlerinden kaynaklanan yapılardaki veya fonksiyon bloklarındaki boşlukları tespit eder. Mümkünse, yapı elemanlarına başvurarak veya bunları sahte bir elemanla doldurarak boşlukları gidermelisiniz. Bu mümkün değilse, ‎analysis‎ pragması aracılığıyla etkilenen yapılar için kuralı devre dışı bırakabilirsiniz.

Gerekçe: Farklı platformlardaki farklı hizalama gereksinimleri nedeniyle, bu tür yapılar için bellekte farklı bir düzen olabilir. Bu durumda kod, platforma bağlı olarak farklı performans gösterebilir.

Önemliymiş: Düşük

Örnek

PROGRAM PLC_PRG
VAR
	myStruct : Unpadded_Structure;
END_VAR
myStruct.iTest := 0;

TYPE Unpadded_Structure :
STRUCT
	xTest : BOOL;
	iTest : INT;    // SA0016
	byTest : BYTE;
	wTest : WORD;
END_STRUCT
END_TYPE

--> SA0016: Structure 'Unpadded_Structure' must be padded (pack-mode=8)