oracular (3) memcpy.3.gz

Provided by: manpages-es-dev_4.23.1-1_all bug

NOMBRE

       memcpy - copiar area de memoria

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #include <string.h>

       void *memcpy(void dest[restrict .n], const void src[restrict .n],
                    size_t n);

DESCRIPCIÓN

       The  memcpy()   function  copies n bytes from memory area src to memory area dest.  The memory areas must
       not overlap.  Use memmove(3) if the memory areas do overlap.

VALOR DEVUELTO

       La funcion memcpy() devuelve un puntero a dest.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌───────────────────────────────────────────────────────────────┬────────────────────┬───────────────────┐
       │InterfazAtributoValor             │
       ├───────────────────────────────────────────────────────────────┼────────────────────┼───────────────────┤
       │memcpy()                                                       │ Seguridad del hilo │ Multi-hilo seguro │
       └───────────────────────────────────────────────────────────────┴────────────────────┴───────────────────┘

ESTÁNDARES

       C11, POSIX.1-2008.

HISTORIAL

       POSIX.1-2001, C89, SVr4, 4.3BSD.

CAVEATS

       Failure to observe the requirement that  the  memory  areas  do  not  overlap  has  been  the  source  of
       significant  bugs.   (POSIX  and  the  C standards are explicit that employing memcpy()  with overlapping
       areas produces undefined behavior.)  Most notably, in glibc 2.13 a performance optimization  of  memcpy()
       on  some  platforms (including x86-64) included changing the order in which bytes were copied from src to
       dest.

       This change revealed breakages in a number of applications that performed copying with overlapping areas.
       Under  the  previous implementation, the order in which the bytes were copied had fortuitously hidden the
       bug, which was revealed when the copying order was reversed.  In glibc 2.14, a versioned symbol was added
       so  that  old binaries (i.e., those linked against glibc versions earlier than 2.14)  employed a memcpy()
       implementation that safely handles the  overlapping  buffers  case  (by  providing  an  "older"  memcpy()
       implementation that was aliased to memmove(3)).

VÉASE TAMBIÉN

       bcopy(3), bstring(3), memccpy(3), memmove(3), mempcpy(3), strcpy(3), strncpy(3), wmemcpy(3)

TRADUCCIÓN

       La   traducción   al   español   de   esta  página  del  manual  fue  creada  por  Vicente  Pastor  Gómez
       <vpastorg@santandersupernet.com> y Juan Piernas <piernas@ditec.um.es>

       Esta  traducción  es   documentación   libre;   lea   la   GNU   General   Public   License   Version   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o posterior con respecto a las condiciones de copyright.  No
       existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta página  del  manual,  envíe  un  correo  electrónico  a
       ⟨debian-l10n-spanish@lists.debian.org⟩.