Hirdetés
- Azonnali VGA-s kérdések órája
- Bambu Lab 3D nyomtatók
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Ilyet se látunk minden nap, már füstölt a GeForce, de a játék még futott
- Webes drivert fejleszt a Razer
- VR topik
- Megkezdte az idei cicaharcot az AMD és az Intel
- A CannonKeys felkavarja a slim profilos billentyűzetek állóvizét
- A Lightspeedre építhet a Logitech új headsetje
- Új kezdeményezéssel pofoznák ki a Linuxot a játékosoknak
Új hozzászólás Aktív témák
-
Karma
félisten
Ezt a cikket most találtam, érdemes elolvasni.
A kommentek között az eredeti kérdésedre is választ kapsz, idézem:Here is the best practice for use with structs that define memory-mapped I/O device registers:
typedef struct { ... } volatile newtype_t;
newtype_t * const p_newtype = (newtype_t *) BASEADDR; -
Karma
félisten
A volatile nem azért kell, hogy elérhesd interruptból (ahhoz csak "megfelelő" helyre kell tenned), hanem azért, hogy a fordító ne optimalizálja ki az olyan ifeket és for/while ciklusokat, ahol ennek a struktúrának az elemeit használod fel a feltételben.
Volatile nélkül ugyanis azt gondolhatja a fordító megfelelően magas -O szint mellett, hogy "na ez biztos nem változik meg, ez a feltétel felesleges, kidobom" - és csodálkozhatsz hogy nem reagál a program. A volatile ezt tiltja meg.
BTW szerintem egyszerűbb lenne, ha nem a heapen hoznád létre ezt a struktúrát. Végülis elég kicsi. Az interruptos elérés miatt lehet, hogy globális változónak praktikusabb (más fordítási egységben. pl. az interruptkezelődben meg externnel hivatkozol rá).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- Apple iPhone 15 Pro Max / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 83%
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
- Xiaomi Redmi Note 13 5G (2024) / 8/256GB / Kártyafüggetlen / 12 Hó Garancia
- BESZÁMÍTÁS! Apple Macbook Air 13 2022 M2 8GB 512GB notebook garanciával hibátlan működéssel
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


