<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: sizeof Struct in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568111#M19186</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Fri Jun 08 07:47:17 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;why that structs are both 12?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Because the compiler will use 'natural' alignment by default. If you want something different, try packing the structure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
__attribute__((packed))
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 02:20:28 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T02:20:28Z</dc:date>
    <item>
      <title>sizeof Struct</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568110#M19185</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cesimkaol on Fri Jun 08 07:31:34 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;struct employer{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int yas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char cinsiyet;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int boy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;struct employer1{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int yas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int boy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char cinsiyet;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;sizeof(employer)&amp;lt;&amp;lt;"--"&amp;lt;&amp;lt;sizeof(employer1)&amp;lt;&amp;lt;endl;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;sizeof(int)=4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sizeof(char)=1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I thought result is 9 - 9 , but compailer give me a 12--12 ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;why that structs are both 12?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:20:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568110#M19185</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:20:27Z</dc:date>
    </item>
    <item>
      <title>Re: sizeof Struct</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568111#M19186</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Fri Jun 08 07:47:17 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;why that structs are both 12?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Because the compiler will use 'natural' alignment by default. If you want something different, try packing the structure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
__attribute__((packed))
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:20:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568111#M19186</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:20:28Z</dc:date>
    </item>
    <item>
      <title>Re: sizeof Struct</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568112#M19187</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by frame on Fri Jun 08 09:16:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I consider this struct layout as suboptimal.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;struct employer
{
&amp;nbsp;&amp;nbsp; int&amp;nbsp; yas;
&amp;nbsp;&amp;nbsp; char&amp;nbsp; cinsiyet;
&amp;nbsp;&amp;nbsp; int&amp;nbsp; boy;
};
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Your second int variable happens to land on an odd address, if you really can force the compiler to pack it that dense.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But that means, the compiler would need to generate several additional instructions to read the misplaced/splattered [B][FONT=Courier New]int[/FONT][/B] into two registers, and merge it back into one variable. Most compiler refuse to do this for 32 bit machines.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Placing it that way:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;struct employer
{
&amp;nbsp;&amp;nbsp; int&amp;nbsp; yas;
&amp;nbsp;&amp;nbsp; int&amp;nbsp; boy;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp; cinsiyet;
 };
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;you have at least proper alignment inside of your struct.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:20:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568112#M19187</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:20:28Z</dc:date>
    </item>
    <item>
      <title>Re: sizeof Struct</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568113#M19188</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Fri Jun 08 09:48:17 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Didn't we discuss the pros and cons of packed structs already :rolleyes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=3260&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:20:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/sizeof-Struct/m-p/568113#M19188</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:20:29Z</dc:date>
    </item>
  </channel>
</rss>

