- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 14

Thema: INLINE nicht eindeutig

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076

    INLINE nicht eindeutig

    Hallo zusammen, zum Wochenende eine kleine Frage:

    Ich wollte meiner Software etwas unter die Arme greifen und unnötige Funktionsaufrufe vermeiden.
    Also ein Speedup sozusagen.

    Nun dachte ich (sollte man nicht, weis ich) durch das Schlüsselwort "inline" wird der Funktionscode
    jeweils direkt eingesetzt ohne Funktionsaufruf. Das macht den Code zwar größer aber call und return entfallen.

    Nun lese ich grad Folgendes und muss feststellen das ich durch inline NICHT unbedingt zum gewünschten Ziel komme

    Quelle: https://de.wikibooks.org/wiki/C-Prog...ine-Funktionen

    a) Eine Funktion, die als inline definiert ist, soll gemäß dem C-Standard so schnell wie möglich aufgerufen werden.
    b) Die genaue Umsetzung ist der Implementierung überlassen.
    c) Beispielsweise kann der Funktionsaufruf dadurch beschleunigt werden, dass die Funktion nicht mehr als eigenständiger Code vorliegt,
    sondern an der Stelle des Funktionsaufrufs eingefügt wird.
    Dadurch entfällt eine Sprunganweisung in die Funktion und wieder zurück.
    d) Allerdings muss der Compiler das Schlüsselwort inline nicht beachten,
    wenn der Compiler keinen Optimierungsbedarf feststellt.
    f) Viele Compiler ignorieren deshalb dieses Schlüsselwort vollständig und setzen auf Heuristiken, wann eine Funktion inline sein sollte.


    zu a) eigentlich soll die Funktion garnicht aufgerufen werden, sondern der Code direkt eingefügt werden.
    zu b) verstehe ich nicht, die Implementierung ist doch mein code ?
    zu c) genau das möchte ich
    zu d) UPPS, das soll er aber unbedingt beachten, unabhängig von der Optimierungsstufe
    zu f) damit ist inline für mich unsinnig geworden


    Gibt es einen Zwangs-Paramter(Schlüsselwort), dass der Code "unbedingt" ohne Aufruf in den Code eingetragen wird ?

    Ich danke Euch schonmal für Informationen

    Siro

    - - - Aktualisiert - - -

    Habe noch etwas weiter gesucht und folgendes gefunden:

    Inline Methoden

    In der klassenorientierten Programmierung kommt es häufig vor, dass eine Methode nur aus einer einzigen Anweisung besteht. Dies geschieht besonders oft bei sogenannten Gettern. Hierbei ist der Aufwand, die Funktion zu rufen aufwendiger als das, was die Funktion eigentlich leistet.
    In dem Fall kann man dem Compiler empfehlen, den Funktionsaufruf wegzulassen und die wenigen Anweisungen direkt da auszuführen, wo eigentlich die Funktion gerufen werden soll.
    Eine inline-Funktion wird also überall da eingesetzt, wo eigentlich die Funktion gerufen werden sollte.

    Also ist inline nur eine Compiler Empfehlung. Man kann es nicht direkt steuern
    Geändert von Siro (15.01.2016 um 10:53 Uhr)

Ähnliche Themen

  1. Bascom Inline-Assembler
    Von Che Guevara im Forum Assembler-Programmierung
    Antworten: 64
    Letzter Beitrag: 07.02.2012, 20:00
  2. "gicr" wird im inline-code für den 644p nicht erka
    Von funkheld im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 08.02.2011, 19:15
  3. Inline Assembler
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 01.02.2010, 20:25
  4. AVR GCC inline Assembler
    Von chientech im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 26.09.2009, 17:39
  5. Inline Asm Rückgabe
    Von FoCus im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 09.02.2006, 11:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress