Odp: Protokół XBRA
Śmiem się nie zgodzić, po to jest właśnie volatile, żeby kompilator wiedział że dostęp ma efekty uboczne i nie może go optymalizować. Taki 'pusty' zapis w C może nie przetrwać agresywnej optymalizacji.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Grawitacja 2024 Czas na kolejną edycję 8 bitowego GameJamu.
Tenebra na Atari ST/STE Wersja gry na duże atari.
Wyniki FujiCup 2023 Wyniki konkursu FujiCup na najlepszą grę dla 8-bit Atari w 2023 roku zostały ogłoszone!
TONY na małe Atari Nowa gra na małe Atari, w Hiresie, produkcja Rafała Dudka (brat XXL-a), Popmilo i Caruso.
Cosmic Hero 2 Bohater ratujący Ziemię w kryzysowej sytuacji powraca po 30 latach.
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
Śmiem się nie zgodzić, po to jest właśnie volatile, żeby kompilator wiedział że dostęp ma efekty uboczne i nie może go optymalizować. Taki 'pusty' zapis w C może nie przetrwać agresywnej optymalizacji.
Ale jaki pusty? Masz adres i masz wartość, którą chcesz pod ten adres zapisać. W takim razie co nie jest 'pustym' zapisem? Wszędzie w kodzie mam wstawiać volatile?
Nie wszystko. Jeżeli jednak kompilator nie widzi akcesów po zapisie to może sobie ten zapis wyoptymalizować. Nie mówię że koniecznie tak się stanie, ale dla świętego spokoju volatile bym tam dał.
No właśnie nie może. Robisz zapis do pamięci i w pamięci znajdzie się taka wartość jaka powinna się tam ostatecznie znaleźć. Jedyne co robi volatile to wymuszeniena na kompilatorze, żeby wykonać KAŻDY access do tego samego adresu.
Chyba nie ... to zależy od optymalizacji jakiej dokonuje kompilator ... http://www.open-std.org/jtc1/sc22/wg14/ … /n1956.htm
Zapis też jest accesem. Jak kompilator zdecyduje się coś wyoptymalizować do rejestrów, to nie będzie zapisu do pamięci, nawet jak będziesz używał wskaźnika.
@artik-wroc zrób ten zapis i odczyt pamięci / rejestrów w asmie
będzie po problemie
Dzisiaj będę walczył. Myślę ,że już wiem, co tam może nie działać.
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.067 sekund, wykonano 17 zapytań ]