Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
cancel
Showing results for 
Search instead for 
Did you mean: 

#pragma pack() in linux

satish_16
Occasional Contributor

#pragma pack() in linux

what is a #pragma pack()? how to use it in gcc compiler.
send me the answer as soon as possible.
3 REPLIES
Michael Steele_2
Honored Contributor

Re: #pragma pack() in linux

pragma
An ANSI C command comment that conveys non-essential yet pragmatic information, often to help with optimization when compiling.

Here is a Red Hat link:

http://www.redhat.com/docs/manuals/gnupro/GNUPro-Toolkit-00r1/pdf/2_compile.pdf

Here is some HP info:

You typically use a #pragma directive to control the actions of the compiler in a particular portion of a translation unit without affecting the translation unit as a whole.

http://docs.hp.com/cgi-bin/otsearch/getfile?id=/hpux/onlinedocs/1559/pragmas.htm&searchterms=pragma&queryid=20030327-055643
Support Fatherhood - Stop Family Law
satish_16
Occasional Contributor

Re: #pragma pack() in linux

hi,
Thanks for the information.
currently i am working with linux.i want's to use the #pragma pack() in nested structures.so please send me the
syntax with an example.
Goran Koruga
Honored Contributor

Re: #pragma pack() in linux

Hi,

from the gcc documentation :

`packed'
The `packed' attribute specifies that a variable or structure field
should have the smallest possible alignment--one byte for a
variable, and one bit for a field, unless you specify a larger
value with the `aligned' attribute.

Here is a structure in which the field `x' is packed, so that it
immediately follows `a':

struct foo
{
char a;
int x[2] __attribute__ ((packed));
};

HTH,Goran