LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Ну если там при копировании чтение-запись происходит по неразрешенным смещениям, ну типа

addr|00|01|02|03|04|05|06|07|..|A0|A1|A2|A3|A4|A5|A6|A7|
    | uint32t_1 | uint32t_2 |..| uint32t_3 | uint32t_4 |
    |  |  |  |  |  |  |  |  |..|  |  |  |  |  |  |  |  |
Из  |  |^^|^^|^^|^^|^^|^^|^^|..|  |  |  |  |  |  |  |  |
В   |  |  |  |  |  |  |  |  |..|  |  |^^|^^|^^|^^|^^|^^|

То тоже можно что-нибудь придумать, например читать uint32t_1, маской убрать четвертый байт, сдвинуть потом на 1 байт вправо (и сохраняем, этот байт нам потом понадобится) и записать в uint32t_3, после чего читаем uint32t_2, сдвигаем вправо на 8(сохранив опять-таки вытолкнутый байт), и тот старый байт что был сохранен на предыдущем этапе из uint32t_1 - мы его суем в старший байт этой хрени, и потом записываем в uint32_4 ... в общем сложная возня со сдвигами которая не факт что будет быстро работать

Исходная версия SZT, :

Ну если там при копировании чтение-запись происходит по неразрешенным смещениям, ну типа

addr|00|01|02|03|04|05|06|07|..|A0|A1|A2|A3|A4|A5|A6|A7|
    | uint32t_1 | uint32t_2 |..| uint32t_3 | uint32t_4 |
    |  |  |  |  |  |  |  |  |..|  |  |  |  |  |  |  |  |
Из  |  |^^|^^|^^|^^|^^|^^|^^|..|  |  |  |  |  |  |  |  |
В   |  |  |  |  |  |  |  |  |..|  |  |^^|^^|^^|^^|^^|^^|



То тоже можно что-нибудь придумать, например читать uint32t_1, маской убрать четвертый байт, сдвинуть потом на 1 байт вправо (и сохраняем, этот байт нам потом понадобится) и записать в uint32t_3, после чего читаем uint32t_2, сдвигаем вправо на 8(сохранив опять-таки вытолкнутый байт), и тот старый байт что был сохранен на предыдущем этапе из uint32t_1 - мы его суем в старший байт этой хрени, и потом записываем в uint32_4 ... в общем сложная возня со сдвигами которая не факт что будет быстро работать