[devel] memcpy глючит (или я не умею его готовить)
Alexey V. Vissarionov
gremlin на altlinux.org
Сб Фев 23 15:55:21 MSK 2019
On 2019-02-23 15:28:44 +0300, Leonid Krivoshein wrote:
>>> void-указателями такого не проделаешь, в отличие от gcc, который
>>> тоже >>> ни один стандарт могёт.
>> Я не понял этой фразы и сравнения указателей с gcc. При чем тут
>> указатель на void? Размер объекта в этом случае не известен,
>> разумеется арифметика не работает.
Арихметика работает независимо от. Например, конструкцию вида
void *x; int y = x[1];
компилятор пошлет по азимуту, и правильно сделает. Но при этом
void *x; int y = x+123;
не вызовет у компилятора никаких эмоций и превратится (на писюшатине)
в самый обычный lea. Почему? Потому что это обычное сложение, а как
потом будет использоваться результат - уже забота не компилятора, а
программиста.
Если что, я такие конструкции регулярно использую, когда пишу для
контроллеров.
> Вы прибавляете к адресу целое число, которое является чем?
> Разницей в адресах или индексах?
sizeof(void) - это сколько? :-)
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
Подробная информация о списке рассылки Devel