Ausgabe einer Struct-Größe per #error / #warning

Gast #100076
Lesenswert?

Hallo,

ist es möglich bei WinAVR/AVRGCC die Größe einer Struktur bei
Compilerausgabe anzuzeigen ?

folgender Code:

struct GLVAR_STRUCT
{
unsigned char tx_buf[400];
unsigned char rx_buf[400];
};

struct GLVAR_STRUCT g;

#error sizeof(GLVAR_STRUCT)


Leider bekomme Ich nur die folgende Ausgabe, und nicht die Größe:
"global.h:47:2: #error sizeof(GLVAR_STRUCT)"

"#warning" funktioniert gar nicht.


Vielen Dank für eure Hilfe !!!


Gruß

Fiffi
Gast #100077
Lesenswert?

Kann nicht funktionieren.  #error und #warning sind Präprozessor-
Anweisungen, während sizeof() erst dem Compiler bekannt ist.

Du kannst bestenfalls irgendwo ein Array anlegen, das Du via sizeof()
initialisierst und Dir dann den generierten Assemblercode ansehen.

Vielleicht fragst Du ja einfach mal nach, worum es Dir geht?  Sicher
kann Dir hier jemand erklären, wie groß das von Dir gewünschte
Datenobjekt wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren