Eclipse Programmgrösse Frage

Gast #1623393
Lesenswert?

Hallo,

Habe versucht gerade mit Eclipse zu experimentieren.

Mit Überraschung habe ich gesehen, dass die erstellte Programme viel 
grösser sind, als einfach mit avr-gcc erstellte.

Zum Beispiel:

1. Eclipse:
--------------------------------------
Program:   11404 bytes (34.8% Full)
(.text + .data + .bootloader)

Data:       1285 bytes (62.7% Full)
(.data + .bss + .noinit)

2. GCC:
--------------------------------------
Program:   10010 bytes (30.5% Full)
(.text + .data + .bootloader)

Data:       1029 bytes (50.2% Full)
(.data + .bss + .noinit)
--------------------------------------

Ich habe bereits "alles" versucht, habe die Einstellungen in Eclipse so 
gebastelt, dass die Compiler- u. Linkerswitches gleich sind.
(z.B. Optimisation, usw.)

Habt Ihr Ideen, was hier passiert?

Übrigens: das generierte Programm läuft ganz ordentlich, mich stört aber 
den Unterschied (was evtl. manchmal Speicherkritisch sein könnte).

Danke,
Karoly
Gast #1623483
Lesenswert?

Danke, Hans, gute Idee, ich habe es geprüft, ja "mein" Eclipse verwendet 
die gleiche GCC Version.
(Zum Test, habe meinen "WinAVR" Folder umbenannt, dann funktioniert 
Eclipse gar nicht.)

Ich habe bereits wirklich alles probiert.

z.B.: Ich habe die Compiler u. Linker Switches aus dem Eclipse in meine 
GCC Befehle kopiert, und habe dann mit AVR GCC kompiliert. (Also 
umgekehrte Richtung.) Kein positives Ergebnis, sondern das gleiche 
Effekt. :(

Karoly
Gast #1623920
Lesenswert?

Ich habe es gefunden, weiss ich aber nicht, wie es man lösen kann.

Also, siehe:
WinAVR/doc/avr-libc/avr-libc-user-manual/FAQ.html#faq_libm

Hier steht:
"Typically, system libraries like libm.a are given to the final C 
compiler command line that performs the linking step by adding a flag 
-lm at the end."

Schlüsselwort ist: "at the end".

Wenn man aber in Eclipse die "-lm" option bei "Linker properties/Other 
arguments" einstellt, bekommt man die folgende Linker-Befehlszeile:
"avr-gcc -Wl,-Map,futes.map -lm -mmcu=atmega32"

Also, "-lm" steht nicht am Ende!!!

Die einzige Lósung wäre - meiner Meinung nach -, in Eclipse externe 
Makefile einzustellen.

Oder?

Karoly

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