"uIP" fsdata.c comp., Probs. mit const struct / sizeof

Gast #310169
Lesenswert?
• ▲
▼
Hi.
ich versuche gerade mit AVR Studio 4 (GCC) folgenden Code zu
kompilieren:

=====================
struct fsdata_file {
  const struct fsdata_file *next;
  const char *name;
  const char *data;
  const int len;
};
(...)
static const char data_cgi_files[] = {
  /* /cgi/files */
  0x2f, 0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0,
  0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x72, }
(...)
const struct fsdata_file file_cgi_files[] = {{(void*) 0,
data_cgi_files, data_cgi_files + 11, sizeof(data_cgi_files) - 11}};
(...)
=====================

Jetzt bekomm ich einige Fehler:
-error: elements of array `file_cgi_files' have incomplete type
-warning: excess elements in struct initializer
-warning: (near initialization for `file_cgi_files[0]')
-warning: excess elements in struct initializer
-warning: (near initialization for `file_cgi_files[0]')
-warning: excess elements in struct initializer
-warning: (near initialization for `file_cgi_files[0]')
-warning: excess elements in struct initializer
-warning: (near initialization for `file_cgi_files[0]')

-error: storage size of `file_cgi_files' isn't known


Hat jemand einen Tip, woran das liegt?
Ich vermute dass GCC mit der struct Konstruktion nicht klar kommt, weiß
aber nicht was abzuändern ist.

mfg
Stefan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.