
Борбата с компилаторите е епична
Някой знае ли как в avr-gcc се декларират глобални регистрови променливи? Това, което практикувам, и което препоръчват умните глави да се прави, е да декларирам всички регистрови променливи в един хедър и да го инклудвам във всеки .c файл. До сега работеше, обаче оня ден се осраха работите. Сбъгяса се софта и се оправи чак след като преместих регистровата променлива в паметта (с цената на 2 допълнителни инструкции). Явно gcc-то използва регистъра в някоя от ф-иите без да го съхранява и възстановява. Прегледах си внимателно проекта, регистровия хедър е инклуднат на всякъде.
Споделете опит, ако имате.
