?

Log in

No account? Create an account
 

С другой стороны, Си так же неисчерпаем, как и атом.

About Уничтожить всех уродов

Previous Entry С другой стороны, Си так же неисчерпаем, как и атом. 8 июн, 2016 @ 22:25 Next Entry
char *name = &((uint8_t*)&c->car)[1];

получает указатель на поле car структуры c, трактует его как указатель на массив байтов, индексирует второй байт этого массива и берёт его указатель. В итоге мы видим чудесным образом сохранённую строку длиной до двух байт (увы! z-байт тоже надо хранить в C-style строках, а в байте с индексом 0 лежал тэг: итого, два байта неизбежно отлетают под служебные данные, из-за чего 64-битные машины начинают выглядеть чуточку выгоднее), для размещения которой вовсе не потребовалось выделять отдельно память.

Шо то мне подсказывает, что на машинах с big-endianness сие работать не будет, но доступных одноплатников с PowerPC я нигде не смог откопать.

Сделать трёхбайтовые строки можно, но тогда тэг должен лежать в СТАРШЕМ байте, а не в младшем, как сейчас, и будет равен нулю для таких вот спрятанных строк (тогда этот тэг автоматически становится z-байтом). В принципе, ничего страшного нет, просто физические указатели, при записи их в такие структуры, придётся сдвигать вниз на ширину тэга (а при чтении, соотв., выдвигать вверх). Учитывая наличие barrel shift в большинстве современных чипов, это будет ничуть не более дорогая операция, нежели чем наложение битовой маски.
Оставить комментарий
[User Picture Icon]
From:redddis
Date:Июнь, 8, 2016 20:51 (UTC)
(Link)
тебе подогнать макминик g4? %-)
[User Picture Icon]
From:kincajou
Date:Июнь, 8, 2016 21:35 (UTC)
(Link)
мне бы одноплатник на чипе от AMCC... такие в природе есть, но даже на ебее их нету (есть много чего другого, но не stand-alone машинки)
[User Picture Icon]
From:kincajou
Date:Июнь, 9, 2016 15:14 (UTC)
(Link)
оказывается, существует такое семейство SPC5, чипы выпускаются как минимум двумя вендорами - NXP и ST. Унутре - микроконтроллерная требуха и PowerPC ядро. Не самое мощное (конечно), но всё-таки то самое. Разумеется, хер купишь, если только через Mouser какой
(Оставить комментарий)
Top of Page Разработано LiveJournal.com