.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright 2015, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH memcpy 3 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ memcpy \- копирует участок памяти .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP,\ \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBvoid *memcpy(\fPsize_t n; \fB void \fP\fIdest\fP\fB[restrict \fP\fIn\fP\fB], const void \fP\fIsrc\fP\fB[restrict \fP\fIn\fP\fB],\fP \fB size_t \fP\fIn\fP\fB);\fP .fi .SH ОПИСАНИЕ Функция \fBmemcpy\fP() копирует \fIn\fP байт из участка памяти \fIsrc\fP в участок памяти \fIdest\fP. Адреса участков памяти не должны перекрываться друг другом. Если это неизбежно, используйте \fBmemmove\fP(3). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBmemcpy\fP() возвращает указатель на \fIdest\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBmemcpy\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C89, SVr4, 4.3BSD. .SH CAVEATS .\" glibc commit 6fb8cbcb58a29fff73eb2101b34caa19a7f88eba .\" From forward copying to backward copying Несоблюдение требования не перекрытия областей памяти является источником серьёзных ошибок (в стандартах POSIX и C явно указано, что выполнение \fBmemcpy\fP() над перекрывающимися областями приводит к непредсказуемому поведению). Что особенно важно, в glibc 2.13 для оптимизации производительности \fBmemcpy\fP() на некоторых платформах (включая x86\-64) изменён порядок копирования байт из \fIsrc\fP в \fIdest\fP. .P .\" Adobe Flash player was the highest profile example: .\" https://bugzilla.redhat.com/show_bug.cgi?id=638477 .\" Reported: 2010-09-29 02:35 EDT by JCHuynh .\" Bug 638477 - Strange sound on mp3 flash website .\" .\" https://sourceware.org/bugzilla/show_bug.cgi?id=12518 .\" Bug 12518 - memcpy acts randomly (and differently) with overlapping areas .\" Reported: 2011-02-25 02:26 UTC by Linus Torvalds .\" .\" glibc commit 0354e355014b7bfda32622e0255399d859862fcd Это изменение привело к поломкам многих приложений, которые выполняли копирование перекрывающихся областей. В предыдущей реализации порядок, в котором копировались байты, случайно скрывал ошибку, который выявилась при изменении порядка копирования. В glibc 2.14 был добавлен символ версии для того, чтобы старые двоичные файлы (т.е., скомпонованные с версиями glibc до 2.14) вызывали реализацию \fBmemcpy\fP(), которая безопасно обрабатывает случай перекрывающихся буферов (предоставляя «старую» реализацию \fBmemcpy\fP(), которая была просто ещё одним именем \fBmemmove\fP(3)). .SH "СМОТРИТЕ ТАКЖЕ" \fBbcopy\fP(3), \fBbstring\fP(3), \fBmemccpy\fP(3), \fBmemmove\fP(3), \fBmempcpy\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3), \fBwmemcpy\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .