About: Volatile (computer programming)     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatProgrammingConstructs, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FVolatile_%28computer_programming%29

In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified. This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. Volatile values primarily arise in hardware access (memory-mapped I/O), where reading from or writing to memory is used to communicate with peripheral devices, and in threading, where a different thread may have modified a value.

AttributesValues
rdf:type
rdfs:label
  • متغير متقلب (ar)
  • Volatile (cs)
  • Volatile (Informatik) (de)
  • Variable volatile (fr)
  • Volatile 변수 (ko)
  • Zmienna ulotna (pl)
  • Volatile (computer programming) (en)
  • Volatile变量 (zh)
rdfs:comment
  • V počítačových programovacích jazycích, zvláště v C, C++, C# a Java, má objekt deklarovaný pomocí klíčového slova volatile obvykle zvláštní vlastnosti co se týče optimalizace nebo vláken. Zjednodušeně se dá říci, že klíčové slovo volatile brání kompilátoru použít při optimalizaci kódu předpoklad, že se proměnné nemohou „samy” změnit. (cs)
  • En programmation informatique, une variable volatile est une variable sur laquelle aucune optimisation de compilation n'est appliquée. Le mot-clé existe en C, C++, C# et Java. Le préfixe volatile est notamment utilisé quand la variable d'un programme peut être modifiée par un autre programme (cas des entrées/sorties, ou de threads). (fr)
  • C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화와 관련하여 volatile가 선언된 변수는 최적화에서 제외된다.OS와 연관되어 장치제어를 위한 주소체계에서 지정한 주소를 직접 액세스하는 방식을 지정할 수도 있다. 리눅스 커널 등의 OS에서 메모리 주소는 MMU와 연관 된 주소체계로 논리주소와 물리주소 간의 변환이 이루어진다. 경우에 따라 이런 변환을 제거하는 역할을 한다. 또한 원거리 메모리 점프 기계어 코드 등의 제한을 푼다. (ko)
  • 在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字是用来阻止(伪)编译器因誤認某段程式碼無法被程式碼本身所改變,而造成的過度優化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 在C环境中,volatile关键字的真实定义和适用范围经常被误解。虽然C++、C#和Java都保留了C中的volatile关键字,但在这些编程语言中volatile的用法和语义却大相径庭。 (zh)
  • المتغير المتقلب (بالإنجليزية: Volatile variable)‏ هو واحد من الممكن إضافتها على المتغيرات في لغات البرمجة. المتغير المتقلب موجود في لغتي سي وسي++ البرمجيتين، كما يوجد أيضًا في بعض اللغات الأخرى مثل سي# والجافا. (ar)
  • Volatile (deutsch flüchtig, wechselhaft) ist ein Zusatz bei der Deklaration von Variablen in Programmiersprachen wie C, C++, Java oder C#. In C und C++ spezifiziert dieser Qualifizierer, dass sich der Wert der Variable jederzeit ohne expliziten Zugriff im Quelltext ändern kann, etwa durch externe Hardware oder asynchron ausgeführte ISRs, und dass alle Zugriffe beobachtbares Verhalten darstellen, also auch Lesezugriffe, deren Wert nicht verwendet wird, sowie wiederholtes Schreiben auf dieselbe Adresse, ohne dass explizit gelesen wird. Das schränkt Compiler bei der Optimierung des Codes ein. Allerdings bezieht sich der Term „beobachtbares Verhalten“ auf das der abstrakten Maschine der Sprachspezifikation, und diese kennt kein Threading. Die Kennzeichnung von Variablen als volatile garantiert (de)
  • In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified. This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. Volatile values primarily arise in hardware access (memory-mapped I/O), where reading from or writing to memory is used to communicate with peripheral devices, and in threading, where a different thread may have modified a value. (en)
  • Zmienna ulotna – zmienna lub obiekt, które mogą zostać zmienione "z zewnątrz" — niezależnie od kodu programu, w którym się znajdują. Pomiędzy różnymi odczytami, wartości zmiennej mogą być różne, nawet jeśli nie były zmodyfikowane w kodzie. Zastosowanie volatile powstrzymuje kompilator optymalizujący przed pomijaniem zapisów do pamięci lub w wypadku kolejnych odczytów czy zapisów zmiennej przed zastąpieniem jej w skompilowanym kodzie przez stałą. Zmienne ulotne pojawiają się przede wszystkim w dostępie do sprzętu, gdzie korzystanie z pamięci jest wykorzystywane do komunikacji pomiędzy urządzeniami oraz w środowisku wielowątkowym, w którym różne wątki mogą korzystać z tej samej zmiennej. (pl)
dcterms:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Link from a Wikipage to an external page
sameAs
dbp:wikiPageUsesTemplate
has abstract
  • المتغير المتقلب (بالإنجليزية: Volatile variable)‏ هو واحد من الممكن إضافتها على المتغيرات في لغات البرمجة. المتغير المتقلب موجود في لغتي سي وسي++ البرمجيتين، كما يوجد أيضًا في بعض اللغات الأخرى مثل سي# والجافا. خاصية المتغير المتقلب تخبر المصرف بأن يحول شفرة المتغير الثنائية إلى صورة تمكن البرامج الأخرى وعتاد الحاسوب من الدخول إليها. ففي العادة عند قيام المصرف بتحويل الملف المصدري إلى شفرة ثنائية يقوم بعمل بعض الإضافات على المتغيرات بحيث لا يسمح لأي برنامج آخر أن يدخل إلى هذه المتغيرات وقرأها. أقرب مثال على ذلك متغير الوقت الموجود في أنظمة التشغيل المختلفة والذي يعمل على تخزين الوقت الحالي في الذاكرة العشوائية، ولكنه في نفس الوقت يسمح للبرامج الأخرى بقراءة المتغير لكي تستخرج منه الوقت الحالي، فلو لم تكن هذه الخاصية موجودة لكان من الصعب على البرامج معرفة الوقت الحالي. (ar)
  • V počítačových programovacích jazycích, zvláště v C, C++, C# a Java, má objekt deklarovaný pomocí klíčového slova volatile obvykle zvláštní vlastnosti co se týče optimalizace nebo vláken. Zjednodušeně se dá říci, že klíčové slovo volatile brání kompilátoru použít při optimalizaci kódu předpoklad, že se proměnné nemohou „samy” změnit. (cs)
  • Volatile (deutsch flüchtig, wechselhaft) ist ein Zusatz bei der Deklaration von Variablen in Programmiersprachen wie C, C++, Java oder C#. In C und C++ spezifiziert dieser Qualifizierer, dass sich der Wert der Variable jederzeit ohne expliziten Zugriff im Quelltext ändern kann, etwa durch externe Hardware oder asynchron ausgeführte ISRs, und dass alle Zugriffe beobachtbares Verhalten darstellen, also auch Lesezugriffe, deren Wert nicht verwendet wird, sowie wiederholtes Schreiben auf dieselbe Adresse, ohne dass explizit gelesen wird. Das schränkt Compiler bei der Optimierung des Codes ein. Allerdings bezieht sich der Term „beobachtbares Verhalten“ auf das der abstrakten Maschine der Sprachspezifikation, und diese kennt kein Threading. Die Kennzeichnung von Variablen als volatile garantiert also keine Thread-Sicherheit. Im Gegensatz dazu werden bei Java und C# Variablen mit volatile gekennzeichnet, auf die verschiedene Threads zugreifen, um die Sichtbarkeit zu synchronisieren. Mit volatile gekennzeichnete Variablen werden in Java nicht zwischengespeichert (z. B. in Registern). Dadurch wird sichergestellt, dass auch bei Zugriff von mehreren Threads der richtige Wert gelesen wird. Der Zusatz volatile sorgt in Java nicht für gegenseitigen Ausschluss und ersetzt somit nicht Synchronisationsmechanismen (z. B. Locks oder Semaphore). (de)
  • En programmation informatique, une variable volatile est une variable sur laquelle aucune optimisation de compilation n'est appliquée. Le mot-clé existe en C, C++, C# et Java. Le préfixe volatile est notamment utilisé quand la variable d'un programme peut être modifiée par un autre programme (cas des entrées/sorties, ou de threads). (fr)
  • In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified. This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. Volatile values primarily arise in hardware access (memory-mapped I/O), where reading from or writing to memory is used to communicate with peripheral devices, and in threading, where a different thread may have modified a value. Despite being a common keyword, the behavior of volatile differs significantly between programming languages, and is easily misunderstood. In C and C++, it is a type qualifier, like const, and is a property of the type. Furthermore, in C and C++ it does not work in most threading scenarios, and that use is discouraged. In Java and C#, it is a property of a variable and indicates that the object to which the variable is bound may mutate, and is specifically intended for threading. In the D programming language, there is a separate keyword shared for the threading usage, but no volatile keyword exists. (en)
  • C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화와 관련하여 volatile가 선언된 변수는 최적화에서 제외된다.OS와 연관되어 장치제어를 위한 주소체계에서 지정한 주소를 직접 액세스하는 방식을 지정할 수도 있다. 리눅스 커널 등의 OS에서 메모리 주소는 MMU와 연관 된 주소체계로 논리주소와 물리주소 간의 변환이 이루어진다. 경우에 따라 이런 변환을 제거하는 역할을 한다. 또한 원거리 메모리 점프 기계어 코드 등의 제한을 푼다. (ko)
  • Zmienna ulotna – zmienna lub obiekt, które mogą zostać zmienione "z zewnątrz" — niezależnie od kodu programu, w którym się znajdują. Pomiędzy różnymi odczytami, wartości zmiennej mogą być różne, nawet jeśli nie były zmodyfikowane w kodzie. Zastosowanie volatile powstrzymuje kompilator optymalizujący przed pomijaniem zapisów do pamięci lub w wypadku kolejnych odczytów czy zapisów zmiennej przed zastąpieniem jej w skompilowanym kodzie przez stałą. Zmienne ulotne pojawiają się przede wszystkim w dostępie do sprzętu, gdzie korzystanie z pamięci jest wykorzystywane do komunikacji pomiędzy urządzeniami oraz w środowisku wielowątkowym, w którym różne wątki mogą korzystać z tej samej zmiennej. Pomimo bycia powszechnym słowem kluczowym dokładne zachowanie volatile różni się pomiędzy językami programowania. W C i C++ jest modyfikatorem do typu podobnie jak słowo kluczowe const i nie sprawdza się w większości szablonów programów wielowątkowych, dlatego jego zastosowanie jest odradzane. W językach C# i Java jest przeznaczone specjalnie do wielowątkowości — charakteryzuje zmienną i oznacza, że obiekt, z którym jest ona powiązana, może się zmienić. (pl)
  • 在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字是用来阻止(伪)编译器因誤認某段程式碼無法被程式碼本身所改變,而造成的過度優化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 在C环境中,volatile关键字的真实定义和适用范围经常被误解。虽然C++、C#和Java都保留了C中的volatile关键字,但在这些编程语言中volatile的用法和语义却大相径庭。 (zh)
prov:wasDerivedFrom
page length (characters) of wiki page
foaf:isPrimaryTopicOf
Faceted Search & Find service v1.17_git139 as of Feb 29 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3330 as of Mar 19 2024, on Linux (x86_64-generic-linux-glibc212), Single-Server Edition (61 GB total memory, 43 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software