mikrocontroller.net

Forum: PC-Programmierung Misra Fehler


Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

folgenden Fehler bringt mir Visual Lint:

Violates MISRA 2004 Rquired Rule 10.1 Prohibited Implicit Conversion: 
Sgined versus Unsigned


Im Misra heisst es dann: The right hand operand of a && or \\ operator 
shall not contain side effects.

Hier die Code Zeile:

Uint aProbahib[Jut+1]   = {40, 20, 25 };

Wie muss ich ändern?

Besten Dank

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Datentyp hat "Jut"?

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist Define

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wird es ein int sein. Und ein int als Array-Index kann welche 
Probleme haben?

Genau: Er kann negativ werden. Und das geht in die Hose.

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie stelle ich fest ob mein Define ein Int ist? reicht dann ein ändern 
auf signed?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jede Zahlenkonstante ist ein int, sofern nicht eindeutig als was anderes 
gekennzeichnet.

  a = 4;
  #define BLUMENKOHL 4

Die 4 ist hier ein int.

Du willst nicht "signed int" haben, sondern unsigned int.

Das geht mit dem Suffix U:

  a = 4U;
  #define BLUMENKOHL 4U;

Damit ist für den Compiler die Konstante ein unsigned int.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.