Revision history for DevStructLayout


Revision [19995]

Last edited on 2016-02-10 15:49:07 by DkLwikki [Update link format]
Additions:
The compiler aligns fields by inserting padding bytes in front of them in order to move them to an offset that corresponds to their natural boundary, or to a multiple of the value given with ##[[KeyPgField|Field = N]]##, if it is smaller than the field's natural alignment. On the x86 architecture, such proper alignment is not required but can result in better performance when accessing the fields. Other architectures might actually require proper alignment.
Deletions:
The compiler aligns fields by inserting padding bytes in front of them in order to move them to an offset that corresponds to their natural boundary, or to a multiple of the value given with ##[[KeyPgField Field = N]]##, if it is smaller than the field's natural alignment. On the x86 architecture, such proper alignment is not required but can result in better performance when accessing the fields. Other architectures might actually require proper alignment.


Revision [17221]

Edited on 2014-08-30 09:54:46 by DkLwikki [Separate from KeyPgField]
Additions:
The default layout of ##Type## and ##Union## structures in ""FreeBASIC"" is compatible to that of GCC, following the ""SysV"" (Linux/BSD) and Microsoft (Windows) ABIs. This allows for binary compatibility with GCC and other compilers.
The compiler aligns fields by inserting padding bytes in front of them in order to move them to an offset that corresponds to their natural boundary, or to a multiple of the value given with ##[[KeyPgField Field = N]]##, if it is smaller than the field's natural alignment. On the x86 architecture, such proper alignment is not required but can result in better performance when accessing the fields. Other architectures might actually require proper alignment.
Deletions:
The default layout of ##Type## and ##Union## structures in ""FreeBASIC"" is compatible to that of GCC, following the SysV (Linux/BSD) and Microsoft (Windows) ABIs. This allows for binary compatibility with GCC and other compilers.
The compiler aligns fields by inserting padding bytes in front of them in order to move them to an offset that corresponds to their natural boundary, or to a multiple of the value given with ##**Field**##, if it is smaller than the field's natural alignment. On the x86 architecture, such proper alignment is not required but can result in better performance when accessing the fields. Other architectures might actually require proper alignment.


Revision [17218]

The oldest known version of this page was created on 2014-08-30 09:52:14 by DkLwikki [Separate from KeyPgField]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode