手臂“ #pragma anon_unions”允许:

typedef struct {
    uint32_t sensorID;
    uint8_t  messageHeader;
    uint8_t  messageID;
    uint16_t payloadLength;
} Header;

typedef struct {
    uint8_t startOfPacket[SERIAL_SOP_SIZE];
    Header; // Anonymous.
    uint8_t payload[SIZE];
} Packet;

Packet packet;
packet.messageID = 1; // Referencing member of Header through a Packet.


有关在Visual Studio中编译此代码的任何想法?

最佳答案

它在Visual C ++中编译,但only in C mode


  Microsoft C扩展允许您声明结构变量
  在另一个结构中而不给它起名字。这些嵌套
  结构称为匿名结构。 C ++不允许
  匿名结构。

关于c - Visual Studio等效于Arm #pragma anon_unions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11545041/

10-11 16:45
查看更多