Cześć jakiś czas temu spotkałem się z takim zapisem mapowania rejestrów:
Potem można go używać tak:
lub klasycznie
czy tak stosowane pola bitowe są zbrodnią przeciwko informatyce i programowaniu
?
Dla mnie jedyną korzyścią jaką widzę tutaj to np że nie musiałbym patrzeć co chwile do manuala co od jakiego bitu się zaczyna, ale równie dobrze można by zdefiniować sobie makra z offsetami poszczególnych bitów w rejestrze i korzystać klasycznie z przesunięcia bitowego. Do tego dochodzi jeszcze jeden mankament:
Nie mam zamiaru "wynajdywać koła na nowo" tak pytam się z ciekawości o wasze opinie.
Ewentualnie tak myślę że dałoby rade to zrobić też w C++ z template w taki sposób żeby np nie pisać 16 razy MODER, ale musiałbym to przemyśleć. W sumie nie wiem czy miałoby to sens.
znalazłem:
Kod: C / C++
Potem można go używać tak:
Kod: C / C++
lub klasycznie
Kod: C / C++
czy tak stosowane pola bitowe są zbrodnią przeciwko informatyce i programowaniu
Dla mnie jedyną korzyścią jaką widzę tutaj to np że nie musiałbym patrzeć co chwile do manuala co od jakiego bitu się zaczyna, ale równie dobrze można by zdefiniować sobie makra z offsetami poszczególnych bitów w rejestrze i korzystać klasycznie z przesunięcia bitowego. Do tego dochodzi jeszcze jeden mankament:
Cytat:, więc może być problem z portowaniem.C gives no guarantee of the ordering of fields within machine words
Nie mam zamiaru "wynajdywać koła na nowo" tak pytam się z ciekawości o wasze opinie.
Ewentualnie tak myślę że dałoby rade to zrobić też w C++ z template w taki sposób żeby np nie pisać 16 razy MODER, ale musiałbym to przemyśleć. W sumie nie wiem czy miałoby to sens.
znalazłem:
Kod: C / C++