( locsemege | 2021. 12. 08., sze – 21:09 )

Amennyiben a fordítóban nincs bug. Épp ma szívtam meg azt, hogy regiszterbe foglaltam 8 bites unsigned változót, mire a szentem 32 biten foglalta ezt le, ami mondjuk rendben is van 32 bites architektúránál, de nem fordította bele a 0xff-fel való maszkolást, hanem simán túlnyúlt 8 biten, ahogy inkrementáltam a változómat, miközben épp annak túlcsordulására játszottam. Amikor ezt hozzáadtam egy pointerhez, már az üveghegyen is túlra címzett. Mindegy, watcdog reset lett belőle, én meg néztem bamba képpel, hogy ezt mégis hogy.

Jó, ez C, futásidőben kritikus, DMA-zott mérési adatok előfeldolgozása IT rutinban, valós időben.

Ja, és annyiban igazad van, én sem kommenteltem, csak odabiggyesztettem, hogy & 0xff. :)