[cdev] утилита dd
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Сб Май 1 22:16:27 MSK 2010
Федюк Сергей пишет:
> Здраствуйте
> внес изменения в утилиту, чтобы опции if и of не были жёстко привязаны к конкретной позиции
> но возникла проблема
>
Принцип такой. Если у вас есть адрес чего-то т.е. указатель на "что-то",
то вы с этим "чем-то" можете делать всё что хотите. Си вам ничего не
запрещает. Типы тоже можно преобразовывать и указатели, от void *
который может на любой тип ссылаться к любому другому и т.д. На самом
деле все указатели, вне зависимости от типа, имеют один и тот же размер
- 4 байта на 32-х разрядных машинах и 8 байт на 64-х разрядных, и потому
преобразуются друг в дружку без потерь. Адрес ячейки он и в Африке адрес
ячейки.
Знаете что это последовательность байт, т.е. массив? Вот и ходите по
байту вперёд или назад, это как вам угодно. Никаких дополнительных полей
или чего-то ещё там нет, в массиве. Все базовые типы отражаются в
машинное представление и именно в таком виде они и будут лежать в памяти.
--
Г.А.
Подробная информация о списке рассылки cdev