>>>>> "Alexander" == Alexander Lichius <[EMAIL PROTECTED]> writes:
Alexander> Hi
Alexander> i have a question not really regarding rtlinux in
Alexander> special. we have to communicate with our a/d adaptor
Alexander> which is realtime capable on its own. the problem is that
Alexander> the task which is installed directly on the adaptors cpu
Alexander> was compiled under DOS/WINDOWS. The task running on the
Alexander> pc (now under linux) was compiled with egcs - which has a
Alexander> 4-byte alignment in contrast to the 1-byte alignment from
Alexander> DOS compilers. so all our structures are different in
Alexander> size and we only transfer bullshit to and from the a/d
Alexander> adaptor. does anybody know the command line switch or
Alexander> pragma to change the default alignment of gnu cc or
Alexander> egcs??
Try using the following declarative construct for every involved
struct:
__attribute__ ((packed))
Test program (prints '8' without the attribute, '5' with it):
struct s {
unsigned int i;
char c;
unsigned int j;
} __attribute__ ((packed)) a;
main()
{
printf("offset = %d\n", ((unsigned int) &a.j) - ((unsigned int) &a));
}
Gilles ([EMAIL PROTECTED])
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/