Binärzahlen unter linux nicht möglich?, Makefile-Portierun

OP #657208
Lesenswert?
• ▲
▼
Moin!

1) kennt jemand eine Erklärung, warum Zahlen im Binärformat wie 
"0b00111100" unter WinAVR akzeptiert werden, diese aber unter Linux eine 
Fehlermeldung "invalid suffix "b00001100" on integer constant" liefern?

2) Desweiteren funktioniert unten aufgeführter Build-Step unter Windows 
(WinAVR Current) problemlos, wird unter Linux aber nicht erkannt. 
Fehler: "make: *** No rule to make target `pcModular-TestBench.elf', 
needed by `elf'.  Stop."
1
# Link: create ELF output file from object files.
2
.SECONDARY : $(TARGET).elf
3
.PRECIOUS : $(OBJ)
4
%.elf: $(OBJ)
5
  @echo
6
  @echo $(MSG_LINKING) $@
7
  $(CC) $(ALL_CFLAGS) $^ --output $(BUILDDIR)/$@ $(LDFLAGS)

avr-gcc 4.1, make 3.81 in beiden Fällen. Kann dies mit unterschiedlichen 
Build-Optionen von WinAVR und "Ubuntu" avr-gcc zusammenhängen?

cu, mz
OP #657256
Lesenswert?
• ▲
▼
Jörg Wunsch wrote:
> Bei GCC ist es mittlerweile offiziell drin.  Damit hat sich zumindest
> der Teil der Argumentation aus dem C99-Rationale erledigt, der besagt,
> dass der Vorschlag für Binärkonstanten ``due to lack of precedence''
> nicht aufgenommen wurde. ;-)

Bleibt die Frage, warum mein gcc 4.1 dies nicht kann. Oder kam das 
danach? 4.2.x? Trotzdem gut zu wissen :)

cu, mz
Moderator Persönliche Seite #657265
Lesenswert?
• ▲
▼
Michael Z. wrote:

> Bleibt die Frage, warum mein gcc 4.1 dies nicht kann.

Weil der dafür zu alt ist.  Ich habe das Feature mal implementiert, weil
es hier im Forum jemand haben wollte. :-)  Von da ist es dann in die
FreeBSD- und WinAVR-Distribution geraten, und irgendwann habe ich mich
hingesetzt, und es mal ordentlich bei GCC als Patch eingereicht.  Hat
anfangs auch ein wenig Argumentation gekostet, GCC möchte nicht
unbedingt creaping featurism bekommen, aber man konnte meiner Argument-
ation folgen.

> Oder kam das
> danach? 4.2.x?

4.2.x habe ich mir noch nicht angeguckt, kann sein, dass es sogar erst
nach dem 4.2er Branch in den SVN-Trunk gekommen ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren