<div dir="ltr"><div>You would have to provide more details, like the C compiler, flags, etc.</div><div><br></div>IIRC unless you specify otherwise, C aligns structure members on 4 or 8 byte boundaries. You can force it to pack structs, which you want in your case.<br>
<br><div class="gmail_quote">On Sun, Sep 4, 2011 at 6:34 PM, Natty <span dir="ltr">&lt;<a href="mailto:aloha2004@gmail.com">aloha2004@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div dir="ltr">Hi,<div><br></div><div>I&#39;ve packed a C structure which looks similar to:</div><div><br></div><div>struct  {</div><div>  unsigned char _vMapping1[3]; //  on the system perl is running, it sums up to 3 bytes.</div>

<div>  unsigned char _vMapping2[3];   // on the system perl is running, it sums up to 3 bytes.</div><div>  short _uPnP;  //  on the system perl is running, it sums up to 2 bytes.</div><div>}</div><div><br></div><div>I think there are some fill bytes, which there shouldn&#39;t be I believe, since I am not getting what I&#39;m expecting when using:</div>

<div><br></div><div>my $bin = unpack(&#39;c[3]c[3]s&#39;,...);</div><div><br></div><div>is there a module which will make my life easier to pack / unpack C structures / binary data?</div><div><br></div><div>thanks,</div>
<div>
<br></div><div><br></div></div>
<br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br></div>