I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.

Thank you.

__ALIGNOF__(3)             Library Functions Manual             __ALIGNOF__(3)

     __alignof__ - GNU extension for alignment of an object

     __alignof__(void x);

     The __alignof__() operator returns the alignment of its operand.  The
     operand 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

           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 8.0                     December 20, 2010                    NetBSD 8.0