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

  • Android Central

    Android Cent

    13 Kasım 2008
  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006