<bdo id='A2oCs'></bdo><ul id='A2oCs'></ul>

      <legend id='A2oCs'><style id='A2oCs'><dir id='A2oCs'><q id='A2oCs'></q></dir></style></legend>
    1. <tfoot id='A2oCs'></tfoot>

      <small id='A2oCs'></small><noframes id='A2oCs'>

    2. <i id='A2oCs'><tr id='A2oCs'><dt id='A2oCs'><q id='A2oCs'><span id='A2oCs'><b id='A2oCs'><form id='A2oCs'><ins id='A2oCs'></ins><ul id='A2oCs'></ul><sub id='A2oCs'></sub></form><legend id='A2oCs'></legend><bdo id='A2oCs'><pre id='A2oCs'><center id='A2oCs'></center></pre></bdo></b><th id='A2oCs'></th></span></q></dt></tr></i><div id='A2oCs'><tfoot id='A2oCs'></tfoot><dl id='A2oCs'><fieldset id='A2oCs'></fieldset></dl></div>

      1. sizeof(struct) 返回意外值

        sizeof(struct) returns unexpected value(sizeof(struct) 返回意外值)

        • <bdo id='WdcAO'></bdo><ul id='WdcAO'></ul>
          <i id='WdcAO'><tr id='WdcAO'><dt id='WdcAO'><q id='WdcAO'><span id='WdcAO'><b id='WdcAO'><form id='WdcAO'><ins id='WdcAO'></ins><ul id='WdcAO'></ul><sub id='WdcAO'></sub></form><legend id='WdcAO'></legend><bdo id='WdcAO'><pre id='WdcAO'><center id='WdcAO'></center></pre></bdo></b><th id='WdcAO'></th></span></q></dt></tr></i><div id='WdcAO'><tfoot id='WdcAO'></tfoot><dl id='WdcAO'><fieldset id='WdcAO'></fieldset></dl></div>
            <tbody id='WdcAO'></tbody>
          <legend id='WdcAO'><style id='WdcAO'><dir id='WdcAO'><q id='WdcAO'></q></dir></style></legend>
        • <small id='WdcAO'></small><noframes id='WdcAO'>

          • <tfoot id='WdcAO'></tfoot>

                  本文介绍了sizeof(struct) 返回意外值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  这应该很简单,但我不知道去哪里寻找问题:

                  This should be simple but I have no clue where to look for the issue:

                  我有一个结构:

                  struct region
                  {
                  public:
                      long long int x;
                      long long int y;
                      long long int width;
                      long long int height;
                      unsigned char scale;
                  };
                  

                  当我做 sizeof(region) 时,它给了我 40 当我期待 33 时.

                  When I do sizeof(region) it gives me 40 when I am expecting 33.

                  有什么想法吗?

                  (mingw gcc,赢得 x64 操作系统)

                  (mingw gcc, win x64 os)

                  推荐答案

                  它正在填充结构以适应 8 字节的边界.所以它实际上在内存中占用了 40 个字节 - sizeof 返回了正确的值.

                  It's padding the struct to fit an 8-byte boundary. So it actually is taking 40 bytes in memory - sizeof is returning the correct value.

                  如果您希望它只占用 33 个字节,则指定 packed 属性:

                  If you want it to only take 33 bytes then specify the packed attribute:

                  struct region
                  {
                  public:
                      long long int x;
                      long long int y;
                      long long int width;
                      long long int height;
                      unsigned char scale;
                  } __attribute__ ((packed));
                  

                  这篇关于sizeof(struct) 返回意外值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to print vector#39;s data(如何打印矢量的数据)
                  Visual C++ appends 0xCC (int3) bytes at the end of functions(Visual C++ 在函数末尾附加 0xCC (int3) 字节)
                  How to use a variable inside a _T wrapper?(如何在 _T 包装器中使用变量?)
                  MSVC++ warning flags(MSVC++ 警告标志)
                  How to read file which contains uxxxx in vc++(如何在vc++中读取包含uxxxx的文件)
                  stack overflow error in C++ program(C++程序中的堆栈溢出错误)
                    <bdo id='DgJPU'></bdo><ul id='DgJPU'></ul>

                    <small id='DgJPU'></small><noframes id='DgJPU'>

                    <tfoot id='DgJPU'></tfoot>
                      <tbody id='DgJPU'></tbody>

                        <legend id='DgJPU'><style id='DgJPU'><dir id='DgJPU'><q id='DgJPU'></q></dir></style></legend>
                        <i id='DgJPU'><tr id='DgJPU'><dt id='DgJPU'><q id='DgJPU'><span id='DgJPU'><b id='DgJPU'><form id='DgJPU'><ins id='DgJPU'></ins><ul id='DgJPU'></ul><sub id='DgJPU'></sub></form><legend id='DgJPU'></legend><bdo id='DgJPU'><pre id='DgJPU'><center id='DgJPU'></center></pre></bdo></b><th id='DgJPU'></th></span></q></dt></tr></i><div id='DgJPU'><tfoot id='DgJPU'></tfoot><dl id='DgJPU'><fieldset id='DgJPU'></fieldset></dl></div>