Code-Optimierung ist eine diffizile Sache. Es ist nicht selten so, dass eine Veränderung eine Verbesserung in Umgebung A bringt, dafür aber eine Verschlechterung in Umgebung B. Und die Umgebung "Mikrocontroller" ist nicht gerade die, für die der GCC entwickelt und in der er getestet wird.Wie das????
Du kannst mal folgende Options versuchen:
-fno-inline-small-functions
-fno-split-wide-types
-fno-tree-scev-cprop
PS: Und falls du die EEPROM-Block-Funktionen nutzt, geht ein Teil des Mehr-Codes zu Lasten der Tatsache, dass diese Funktionen anscheinend in der aktuellen AVR-Libc mit der Option -mcall-prologues übersetzt wurden.
Lesezeichen