www.mikrocontroller.net

Forum: Compiler & IDEs Frage zu Compiler-Optimierung


Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach!!

Eine Frage zum Compiler. Ich hoffe, alle arbeiten gleich.

wenn ich eine Funktion habe:
int var;
var = funktion( );
PORTC = var;


ich definiere also eine zwischenzeitliche Variable "var" , das dient der 
Übersicht. Natürlich kann ich auch schreiben:
PORTC = funktion( );

Das macht den Code kleiner. Macht das der Compiler automatisch oder 
reserviert er die definierte variable "var" dann im Speicher für den 
gesammten Programablauf. Wäre ja Ressourcenverschwendung.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange var wirklich nur int und nicht volatile deklariert wird, sollte 
das jeder halbwegs aktuelle Compiler bei angeschalteter Optimierung 
wegoptimieren.

Generell würde ich folgende Vorgehensweise empfehlen:
1. Funktion implementieren
2. Geschwindigkeit optimieren

Natürlich muss man es nicht übertreiben und darf auch schon bei 1. 
triviale Optimierungen machen. ;) Lesbarkeit und Wiederverwendbarkeit 
sind auch Qualitätsmerkmale. Wenn es dir also hilft, den code besser 
zu verstehen, lass es drin.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es

PORTC = funktion( );

tut, würde ich das niemals durch

int var;
var = funktion( );
PORTC = var;

ersetzen. Was soll denn dadurch übersichtlicher werden?

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
war ja nur ein Beispiel :-)

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier's aus, was er dann macht, dann hast du die Antwort ;)

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und das listfile ansehen ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.