Forum: Compiler & IDEs WinAVR sizeof PROGMEM struct mit char[] Element


von Ingo S. (ingo-s)


Lesenswert?

Hi,

ist es möglich, folgende PROGMEM Strukturen so zu initialisiern, das 
sizeof(struct) stimmt und man die Länge des Strings nicht zu Fuss dazu 
addieren muss?

struct lenTest{
  uint8_t  type;
  uint8_t  size;
  char  name[];
};

So fehlt die Länge des Strings in size:
PROGMEM struct lenTest myTest = { 0, sizeof(myTest), "text" };

Mir ist klar, der Precompiler kann das nicht.

Gruß Ingo

von Oliver (Gast)


Lesenswert?

Die Grösse des Structs ist 2 bytes. Und das funktioniert so nicht.

Oliver

von Ingo S. (ingo-s)


Lesenswert?

Klar geht das so nicht.
Was geht ist:

PROGMEM struct lenTest myTest = { 0, sizeof(myTest)+sizeof("text"), 
"text" };

es ist aber auch nicht schön, den Text zweimal aufzuführen.

Gruß Ingo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.