C dilinde volatile anahtar kelimesi ne işe yarar?
Cevap
volatile, derleyiciye bu değişkenin program akışı dışında değişebileceğini söyler. Derleyici değeri bir yazmaçta önbelleğe almaz, her erişimde bellekten yeniden okur.
Kullanım alanları:
- Donanım yazmaçları (memory-mapped I/O)
- Kesme servis rutininde (ISR) değiştirilen global değişkenler
- Çok iş parçacıklı ortamda başka bir görevin değiştirdiği bayraklar
volatile uint8_t veri_hazir = 0;
void UART_IRQHandler(void) {
veri_hazir = 1;
}
int main(void) {
while (!veri_hazir) { } // volatile olmasaydı sonsuz döngüye optimize edilebilirdi
}İlgili C Programlama soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.