[devel] memcpy глючит (или я не умею его готовить)
Mikhail Efremov
sem на altlinux.org
Вс Фев 24 14:06:56 MSK 2019
On Sat, 23 Feb 2019 15:55:21 +0300 Alexey V. Vissarionov wrote:
> 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. Почему? Потому что это обычное сложение, а как
> потом будет использоваться результат - уже забота не компилятора, а
> программиста.
>
> Если что, я такие конструкции регулярно использую, когда пишу для
> контроллеров.
Ну, я видимо не использовал, поэтому не помню, спасибо.
Вообще логично, до того как в языке появился void * обычно использовали
char * для этих целей.
--
WBR, Mikhail Efremov
Подробная информация о списке рассылки Devel