www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit "long long" Datentyp und msp430


Autor: Erni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte ein Programm aus einer AppNote von TI kompilieren. Darin 
kommt folgende Zeile vor:
typedef unsigned long long  UINT64;

und dazu folgende Fehlermeldung:

the type "long long" is nonstandard


Was muss ich machen um mein C-File kompilieren zu können?

Danke

Erni

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Erni (Gast)

>Was muss ich machen um mein C-File kompilieren zu können?

Die selbstgestrickten Datentypen vergessen und stdint.h nutzen, dort 
gibt es uint64_t bzw int64_t, das sind saubere 64 Bit.

MFG
Falk

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
demnach sollte ein
#include <stdint.h>
typedef uint64_t UINT64;
eigentlich helfen.
Ich dachte nur, das sollte etwas einfacher sein, als jetzt mit 
search&Replace alle UINT64 nach "uint64_t" zu ändern....

Autor: Erni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In meinem stdint.h steht:
/* sorry, int_least64_t not implemented for C54x, C55x, MSP430 */

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sieht so aus, als ob der Compiler keine 64-Bit-Integers
unterstützt.

Des Weiteren scheint er noch nicht C99-konform zu sein, da er kein
long long kann. Aber selbst wenn er long long könnte, wäre es nicht
sicher, dass dieser Typ tatsächlich 64 Bits breit ist.

Autor: Erni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm.. dieser Code wurde doch von TI geschrieben.. müsste doch gehen.

Der Code wurde für die IAR IDE mit integriertem Compiler geschrieben. 
Ich hab die nun in Eclipse kompiliert. Gibts da so grosse unterschiede?

Wurden beide auf der TI-CD mitgeliefert!

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

Bewertung
0 lesenswert
nicht lesenswert
> Der Code wurde für die IAR IDE mit integriertem Compiler geschrieben.

Na, das ist dann wohl der Compiler, den Du verwenden solltest.

> Ich hab die nun in Eclipse kompiliert.

In Eclipse ?* Du meinst vermutlich mspgcc.

> Gibts da so grosse unterschiede?

Ja, das sind zwei komplett unterschiedliche Compiler.

*) das Plenken ist hier leider erforderlich, da sonst die // angezeigt 
werden.

Autor: Erni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Ich hab die nun in Eclipse kompiliert.

>In Eclipse ?* Du meinst vermutlich mspgcc.

Ja.

Aber in der Application Note steht, der Code laufe mit dem IAR und dem 
msp-gcc, man müsse nur die Pfade der inlcudes abändern (hab ich 
abgeändert).

Ist doch etwas seltsam, dass er diese Files nicht so kompilieren kann.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre bei Weitem nicht der erste Fehler, der sich in einer 
ApplicationNote befindet..

Ausserdem ändern sich solche defines schonmal von Zeit zu Zeit, so daß 
man auch hier nicht vor versions-inkompatibilitäten geschützt ist.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist du sicher, dass dein mspgcc up-to-date ist? Laut mspgcc-Webseite
sollte er 64 Bit können:

  "The mspgcc port of the GNU C compiler is currently based on version
  3.2.3 of GNU GCC. It supports all the current variants of the MSP430
  processor, and comes with a full set of header files for the
  processors, and a basic 'libc' library. Signed and unsigned integers
  of 8, 16, 32, and 64 bit lengths are supported. Floating point is
  supported, but only for single precision floating values
  - no double precision."

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.