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
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
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.