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

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • DavideoDesign

    DavideoDesig

    24 NİSAN 2006
  • ThePointblank

    ThePointblan

    18 Aralık 2006