Forum: Compiler & IDEs Unterschiedliche Compiler


von Datenkeimling (Gast)


Lesenswert?

Hab hier Code-Blocks mit z.B. mingw32-gcc-4.7.1.exe, der folgendes nicht 
übersetzen will:
1
printf("%02i: %02X\t\t",
2
                    i*8+j,
3
                    *Data);  // <- verursacht Fehler

C:\Code_blocks_Test\Code_Blocks_Test_1\main.c||In function 'main':|
C:\Code_blocks_Test\Code_Blocks_Test_1\main.c|46|error: invalid type 
argument of unary '*' (have 'int')|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 0 seconds) ===|



Ich hab in:
Global Compiler Settings -> Compiler Flags -> In C mode, support all ISO 
C90 programs
angekreuzelt. Mit arm-none-eabi-gcc.exe läßt sich der Code übersetzen 
(u.a. -std=gnu99, hilft mir das weiter?)
Was kann man denn da machen?

von Peter II (Gast)


Lesenswert?

was ist denn Data für ein Datentype?

ich würde denke du must nur Data oder &Data schreiben, aber nicht *Data

von Peter II (Gast)


Lesenswert?

Nachtag:

sorry hatte X und P verwechselt. Aber der Datentype von Data solltest du 
uns trotzdem sagen.

von Εrnst B. (ernst)


Lesenswert?

Die Zeilen davor, die du uns vorenthältst, sind
1
#ifdef _WIN32
2
# define Data !§$&'!§$&"§$
3
#else
4
 int * Data;
5
#endif
oder?

von Datenkeimling (Gast)


Lesenswert?

Der hier:
typedef unsigned char byte;
byte Data;

von Datenkeimling (Gast)


Lesenswert?

Ooooh...

:-)))

von Εrnst B. (ernst)


Lesenswert?

Datenkeimling schrieb:
> typedef unsigned char byte;
> byte Data;

Erstens: Gewöhn dir das mit dem "byte" ab. Dafür gibts seit über zehn 
Jahren die <stdint.h>

Zweitens: Glaub ich nicht. Deine Fehlermeldung behauptet, Data wäre 
"int":

Datenkeimling schrieb:
> invalid type argument of unary '*' (have 'int')|

von Datenkeimling (Gast)


Lesenswert?

kaputtkopiert.

von Peter II (Gast)


Lesenswert?

Datenkeimling schrieb:
> typedef unsigned char byte;
> byte Data;

dann macht der * bei *data aber überhaupt keinen sinn.

von Datenkeimling (Gast)


Lesenswert?

Jetzt geht's besser...

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.