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

  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • The Verge

    The Verge

    8 AĞUSTOS 2006
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005