Ich habe folgende Strukturgcc warnt vor „unbenannte struct/union, die keine Instanzen definiert“, aber die Struktur hat einen Namen
typedef struct VMCS
{
uint32_t revision;
uint32_t abortValue;
} __attribute__ ((packed)) VMCS;
wenn ich versuche, meinen Code ich diese Warnung von gcc zu kompilieren
warning: unnamed struct/union that defines no instances
gefolgt von einer Reihe von Fehlern, die dadurch verursacht werden, dass VMCS nicht definiert ist. Der Code, der diesem vorangeht, ist sehr harmlos und besteht aus dem Einschließen von stdint.h und einer Anzahl von # define-Einträgen. Es scheint nicht so, als könnten diese Fehler verursachen, die die Struktur stören würden.
Ist 'VMCS' auf jeden Fall als ein leeres Makro definiert? Es klingt definitiv wie es ist. – AnT
Eine der wenigen allgemein anerkannten Namenskonventionen in C besteht darin, Großbuchstaben nur für Makros und _enum-constants_ zu verwenden. Ändern Sie die Namen und versuchen Sie es erneut. Alternativ können Sie die Präprozessor-Ausgabe überprüfen. – Olaf