Keil "struct" Problem

OP (Firma: mumu) #2575990
Lesenswert?
• ▲
▼
Hallo,

ich hätte einen Code, den ich gerne von GCC nach Keil überführen würde.

Leider habe ich hier ein Problem mit folgendem Teil:

typedef struct _MADCTR_Data_t {
  union
  {
    Int8U MemDataAccCtrl;
    struct
    {
      Int8U      : 3;
      Int8U RGB : 1;
      Int8U ML  : 1;
      Int8U MV  : 1;
      Int8U MX  : 1;
      Int8U MY  : 1;
    }; // Zeile 184
  };     // Zeile 185
} MADCTR_Data_t, *pMADCTR_Data_t;

FEHLER: ..\abc.h(184): warning:  #40-D: expected an identifier
             ..\abc.h(185): warning:  #40-D: expected an identifier

Kann mir jemand helfen??

Vielen Dank!
Gast #2576017
Lesenswert?
• ▲
▼
Karl Heinz Buchegger schrieb:
> Gib der struct einen Namen. Gib der union einen Namen.
> anonyme Strukturen gehen nur dann, wenn man im gleichen Aufwasch auch
> eine Variable damit erzeugt.

Stimmt so nicht. Der Keil (V7.0) frisst das obige Fragment problemlos, 
no errors, no warnings.

Zeige den ganzen Header, der Bock liegt an anderer Stelle.
Gast #2576025
Lesenswert?
• ▲
▼
A. K. schrieb:
> Möglicherweise
> muss man dem Keil die nötige Flexibilität mitteilen.

Die 08/15 Standard-Installation von Keil übersetzt den Kram oben ohne 
Kommentar. Ob das jetzt c99 oder d88 konform ist, hat mit der 
Ausgangfrage nichts zu tun. Also her mit dem ganzen Header. Dann suchen 
wir den Fehler und machen es anschleißend hübsch und so richtig c99. 
>:->
Gast #2576108
Lesenswert?
• ▲
▼
Noch einmal, der Header wird übersetzt, keine Kommentare vom Compiler. 
Ich nutze auch µVision4 (4.0) mit dem Compiler 7.0 Die "includes.h" habe 
ich auch nicht. Die fehlenden Typen werden ersetzt:
1
typedef unsigned long Int32U;
2
typedef Int32U* pInt32U;
3
typedef unsigned char Int8U;
4
typedef Int8U* pInt8U;
5
typedef char Boolean;
Ich kann es nicht nachvollziehen.

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.