Как стать автором
Обновить

Комментарии 2

помойму билтинмемсет работает с выровненной памятью trying-to-understand-clang-gcc-builtin-memset-on-constant-size-aligned-point

с лёту не скажу что делать вы вызываете её на прямую её можно вызвать косвенно, с интринсиками, а так вы правильно вроде сделали что просто мемсет вызвали

я как раз на посиксе на ФриБСД смотрел, но на кланге

mmap всегда выровненную память возвращает, а в случае с отложенным выделением, то аж до страницы процессора выровненную. Далее туда 128 прибавлялось, что совершенно точно не нарушает никакие выравнивание. А вот выполнение на стеке может разное вернуть. Для char может даже вообще невыровненное. На практике там все равно выравниваниеи будет, но это совсем уж опасно. Поэтому нужно в такой случаях не char массивы использовать, а массивы 64-битных слов, чтобы приемлемое выравнивание получить.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации