-
- Еще ведь от модели МК зависит: на всяких "нулевках", если копировать невыровненными словами, будет хардфолт. Т.е. недостающие до слова из головы и хвоста надо побайтно, остальное - по словам. Eddy_Em(546 знак., 01.09.2026 10:27)
- По умному эти функции должны инлайниться самим компилятором (его
оптимизатором), и не зависеть от библиотеки. Такие компиляторы
есть, но не все. - AlexBi(01.09.2026 09:51)
- memcpy не такая уж простая функция. я бы сказал, что инлайнятся
реализации в зависимости от условий. самое жирное в плане
реализации - копирование перекрывающихся областей - когда
(src+size) > dst. потому везде пихать одинаковое - как-то
нерационально. и вместо поиска оптимальной реализации в рантайме и
соответствующего оверхеда это дело по возможности инлайнится именно
компилятором. - Vit(01.09.2026 12:25)
- У memcpy в мане написано, что перекрывающиеся области - UB,
пользуйтесь, мол, более правильной memmove для таких случаев. - Eddy_Em(01.09.2026 13:25)
- об memmove первый раз слышу. наверно потому и придумали. - Vit(01.09.2026 19:17)
- В смысле "первый раз"? Неужто ни разу ман на memcpy не читал? Вот,
цитирую: Eddy_Em(162 знак., 02.09.2026 09:05)
- Во-первых, маны это маны, а не это. (сильно недолюбливаю формат). И
то, что проблема организационная, понятно даже из легенды о
впихивании нахненужной memmove. - Vit(02.09.2026 09:53)
- Отличный формат. Понятно, что в латехе было бы лучше - pdf какую сгенерить, вот только без иксов pdf смотреть не кошерно, так что формат манов - самый что ни на есть правильный. Eddy_Em(130 знак., 02.09.2026 10:16)
- Пророки Керниган и Ричи про это не говорили, значит ересь :-) - SciFi(02.09.2026 09:06)
- +1 - Vit(02.09.2026 09:53)
- Во-первых, маны это маны, а не это. (сильно недолюбливаю формат). И
то, что проблема организационная, понятно даже из легенды о
впихивании нахненужной memmove. - Vit(02.09.2026 09:53)
- В смысле "первый раз"? Неужто ни разу ман на memcpy не читал? Вот,
цитирую: Eddy_Em(162 знак., 02.09.2026 09:05)
- об memmove первый раз слышу. наверно потому и придумали. - Vit(01.09.2026 19:17)
- У memcpy в мане написано, что перекрывающиеся области - UB,
пользуйтесь, мол, более правильной memmove для таких случаев. - Eddy_Em(01.09.2026 13:25)
- Есть плюсы и минусы у этого подхода. Обобщать "умно" или "неумно"
здесь едва ли имеет смысл. - SciFi(01.09.2026 09:54)
- Можете сказать какие есть минусы? - AlexBi(01.09.2026 09:56)
- memcpy не такая уж простая функция. я бы сказал, что инлайнятся
реализации в зависимости от условий. самое жирное в плане
реализации - копирование перекрывающихся областей - когда
(src+size) > dst. потому везде пихать одинаковое - как-то
нерационально. и вместо поиска оптимальной реализации в рантайме и
соответствующего оверхеда это дело по возможности инлайнится именно
компилятором. - Vit(01.09.2026 12:25)