Unix/Linux Go Back    

NetBSD 6.1.5 - man page for __alignof__ (netbsd section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

__ALIGNOF__(3)			   BSD 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 align-
     ment.  If __aligned(3) is used to increase the alignment, __alignof__() returns the speci-
     fied 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 member.

	   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.

BSD					December 20, 2010				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 02:03 PM.