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

  • andony5589

    andony5589

    7 Aralık 2011
  • Film Riot

    Film Riot

    16 NİSAN 2006
  • Moodle

    Moodle

    11 Mayıs 2010