Volatile (Informatik)

Volatile (Informatik)

Volatile ist ein Zusatz bei der Deklaration von Variablen in Programmiersprachen wie C, C++, Java oder C#.

In C und C++ wird durch diesen Typqualifikator spezifiziert, dass sich der Wert der Variablen außerhalb des aktuellen Programmkontextes ändern kann, beispielsweise durch externe Hardware. Bei der Generierung des Maschinen-Codes aus einem in C oder C++ geschriebenen Programm verhindert die Kennzeichnung einer Variablen als volatile eine übermäßige Optimierung, so dass das Programm immer auf den tatsächlich in der Hardware vorhandenen Wert zugreift.[1]

Im Unterschied dazu werden mit volatile bei Java und C# atomare Variablen gekennzeichnet.

Beispiel in C

Ohne den Zusatz volatile könnte der Compiler die Schleife im folgenden Programmausschnitt durch eine einfache Endlosschleife ersetzen und die Variable status wegoptimieren:

static volatile int status = 0;
 
void poll_status( void )
{
    while ( status == 0 )
        ;
}

Einzelnachweise

  1. British Standards Institute (Hrsg.): The C Standard - Incorporating TC1 - BS ISO/IEC 9899:1999. John Wiley & Sons, 2003. ISBN 0-470-84573-2. Kapitel 6.7.3

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Volatile — kommt aus dem englischen Sprachraum und bedeutet dort etwa: veränderlich, beweglich, flüchtig. Das Wort wird als Fachausdruck auch im deutschen Sprachraum verwendet: Im Aktienhandel für veränderliche Werte oder als Maß des Risikos einer Aktie,… …   Deutsch Wikipedia

  • volatil — Das Eigenschaftswort volatil (vom lateinischen volatilis, zu deutsch: „veränderlich“, „beweglich“, „flüchtig“, „dampfförmig“) wird als Fachausdruck in folgenden Zusammenhängen verwendet: im Aktienhandel, siehe Volatilität in der Informatik, siehe …   Deutsch Wikipedia

  • Compiler-Front-End — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Kompilierer — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Kompiliert — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Maschinencode-Generator — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Programmgenerator — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Transcompiler — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Transpiler — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Anti-pattern — (deutsch: Antimuster) bezeichnet in der Softwareentwicklung einen häufig anzutreffenden schlechten Lösungsansatz für ein bestimmtes Problem. Es bildet damit das Gegenstück zu den Mustern (Entwurfsmuster, Analysemuster, Architekturmuster...),… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”