__alignof__(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
__ALIGNOF__(3)          NetBSD Library Functions Manual         __ALIGNOF__(3)

__alignof__ -- GNU extension for alignment of an object
int __alignof__(void x);
The __alignof__() operator returns the alignment of its operand. The op- erand can be a type or an expression. If the operand is a `lvalue', the return value represents the required alignment of the underlying type, not the actual alignment of the specified `lvalue'. The returned value is specific to the architecture and the ABI. If the architecture does not impose strict alignment requirements, __alignof__() returns the minimum required alignment. If __aligned(3) is used to increase the alignment, __alignof__() returns the specified alignment.
The syntax is comparable to the sizeof() operator. If the architecture aligns integers along 32-bit address boundaries, the following should print the value 4. (void)printf("%d\n", __alignof__(int)); On the other hand, the following example should print the value 1, even though this is unlikely to be the actual alignment of the structure mem- ber. struct align { int x; char y; } a; (void)printf("%d\n", __alignof__(a.y));
gcc(1), attribute(3), offsetof(3), typeof(3)
This is a non-standard, compiler-specific extension. NetBSD 10.99 December 20, 2010 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.