• <small id='rgAtL'></small><noframes id='rgAtL'>

      <legend id='rgAtL'><style id='rgAtL'><dir id='rgAtL'><q id='rgAtL'></q></dir></style></legend>
        <bdo id='rgAtL'></bdo><ul id='rgAtL'></ul>

        <i id='rgAtL'><tr id='rgAtL'><dt id='rgAtL'><q id='rgAtL'><span id='rgAtL'><b id='rgAtL'><form id='rgAtL'><ins id='rgAtL'></ins><ul id='rgAtL'></ul><sub id='rgAtL'></sub></form><legend id='rgAtL'></legend><bdo id='rgAtL'><pre id='rgAtL'><center id='rgAtL'></center></pre></bdo></b><th id='rgAtL'></th></span></q></dt></tr></i><div id='rgAtL'><tfoot id='rgAtL'></tfoot><dl id='rgAtL'><fieldset id='rgAtL'></fieldset></dl></div>
      1. <tfoot id='rgAtL'></tfoot>
      2. 如何使用匿名结构/联合编译 C 代码?

        时间:2023-07-01

            • <bdo id='ltsjH'></bdo><ul id='ltsjH'></ul>
              <tfoot id='ltsjH'></tfoot>

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

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

                  <legend id='ltsjH'><style id='ltsjH'><dir id='ltsjH'><q id='ltsjH'></q></dir></style></legend>
                  本文介绍了如何使用匿名结构/联合编译 C 代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我可以在 c++/g++ 中做到这一点:

                  I can do this in c++/g++:

                  struct vec3 { 
                      union {
                          struct {
                              float x, y, z;
                          }; 
                          float xyz[3];
                      }; 
                  };
                  

                  那么,

                  vec3 v;
                  assert(&v.xyz[0] == &v.x);
                  assert(&v.xyz[1] == &v.y);
                  assert(&v.xyz[2] == &v.z);
                  

                  会起作用.

                  如何用 gcc 在 c 中做到这一点?我有

                  How does one do this in c with gcc? I have

                  typedef struct {
                      union {
                          struct {
                              float x, y, z;
                          };
                          float xyz[3];
                      };
                  } Vector3;
                  

                  但是我到处都有错误,特别是

                  But I get errors all around, specifically

                  line 5: warning: declaration does not declare anything
                  line 7: warning: declaration does not declare anything
                  

                  推荐答案

                  根据 http://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html#Unnamed-Fields

                  -fms-extensions 将启用您(和我)想要的功能.

                  -fms-extensions will enable the feature you (and I) want.

                  这篇关于如何使用匿名结构/联合编译 C 代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:为什么 C++ 不允许匿名结构? 下一篇:在 C++ 中迭代结构

                  相关文章

                  <tfoot id='eHqDv'></tfoot>
                    • <bdo id='eHqDv'></bdo><ul id='eHqDv'></ul>
                    <legend id='eHqDv'><style id='eHqDv'><dir id='eHqDv'><q id='eHqDv'></q></dir></style></legend>
                    1. <small id='eHqDv'></small><noframes id='eHqDv'>

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