SORU
16 EYLÜL 2008, Salı


Neden değişken var mı?

volatile anahtar kelime nedir? C ne sorunu çözüyor mu?

Benim durumumda, hiçbir şekilde bilerek ihtiyacı var.

CEVAP
16 EYLÜL 2008, Salı


volatile Eğer, tamamen ayrı bir süreç/cihaz/ne olursa olsun yazabilir ki bellekte bir yerden okuyorsanız tabi.

Diğer adamın işi bittiğinde bilmek bir semafor olarak donanım yönetilen 16 bitlik bir değer kullandık düz C., çok işlemcili bir sistemde dual-port ram ile çalıştım. Aslında bu yaptığımız:

void waitForSemaphore()
{
   volatile uint16_t* semPtr = WELL_KNOWN_SEM_ADDR;/*well known address to my semaphore*/
   while ((*semPtr) != IS_OK_FOR_ME_TO_PROCEED);
}

volatile, iyileştirici döngü görür gibi işe yaramaz (adam asla değerini ayarlar olmadan! Fındık, Kurtul bu kodu!) ve benim kod semafor elde etmeden, sorunlar daha sonra neden devam etmek istiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Stevie

    Stevie

    2 Mayıs 2010
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014