{"id":3067,"date":"2014-09-25T08:44:51","date_gmt":"2014-09-25T08:44:51","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=3067"},"modified":"2014-09-25T09:35:35","modified_gmt":"2014-09-25T09:35:35","slug":"c-packed-structs-just-say-no","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=3067","title":{"rendered":"C Packed Structs &#8211; just say &#8216;no&#8217;"},"content":{"rendered":"<p><a href=\"http:\/\/www.mjmwired.net\/kernel\/Documentation\/unaligned-memory-access.txt\">kernel\/Documentation\/unaligned-memory-access.txt<\/a><br \/>\n<a href=\"http:\/\/lwn.net\/Articles\/260456\/\">LWN.net: Documentation about unaligned memory access<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/8568432\/is-gccs-attribute-packed-pragma-pack-unsafe\">stackoverflow: Is gcc&#8217;s __attribute__((packed)) \/ #pragma pack unsafe?<\/a><br \/>\n<a href=\"http:\/\/en.wikipedia.org\/wiki\/Data_structure_alignment\">Wikipedia: Data structure alignment<\/a><br \/>\n<a href=\"http:\/\/www.geeksforgeeks.org\/structure-member-alignment-padding-and-data-packing\/\">GeeksforGeeks: Structure Member Alignment, Padding and Data Packing<\/a><\/p>\n<p><a href=\"http:\/\/wr.informatik.uni-hamburg.de\/teaching\/wintersemester_2013_2014\/effiziente_programmierung_in_c\">Seminar \u201eEffiziente Programmierung in C\u201c<\/a><br \/>\n<a href=\"http:\/\/wr.informatik.uni-hamburg.de\/_media\/teaching\/wintersemester_2013_2014\/epc-14-haase-svenhendrik-alignmentinc-paper.pdf\">Alignment in C<\/a><br \/>\n<a href=\"http:\/\/wr.informatik.uni-hamburg.de\/_media\/teaching\/wintersemester_2013_2014\/epc-14-haase-svenhendrik-alignmentinc-presentation.pdf\">Alignment in C &#8211; Pr\u00e4sentation<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>kernel\/Documentation\/unaligned-memory-access.txt LWN.net: Documentation about unaligned memory access stackoverflow: Is gcc&#8217;s __attribute__((packed)) \/ #pragma pack unsafe? Wikipedia: Data structure alignment GeeksforGeeks: Structure Member Alignment, Padding and Data Packing Seminar \u201eEffiziente Programmierung in C\u201c Alignment in C Alignment in C &#8211; Pr\u00e4sentation<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3067","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/3067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3067"}],"version-history":[{"count":4,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/3067\/revisions"}],"predecessor-version":[{"id":3071,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/3067\/revisions\/3071"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}