Best practice for memcpy in C

c, memcpy, tr24731

Solution

`memcpy_s` has been in added since C11 but is an optional extension. `memcpy` has not been deprecated in C and is not an obsolescent function.

`glibc` as of now does not support `_s` functions and there is no plan (AFAIK) for `glibc` team to support them.

Problem

Is it same deprecated in GNU as in Microsoft C runtime? Is deprecation, if there is such in GNU C, enforced by later standard of C after 89/90 or the compiler? If it's GNU C compiler, since when and does it provide such a secure alternative memory operating function like `memcpy_s` to the deprecated `memcpy` in Microsoft C? If it's later C standard after 89/90, since when and does it provide such a secure alternative memory operating function like `memcpy_s` to the deprecated `memcpy` in Microsoft C? If no such deprecation in GNU C runtime, is there a function which is neither among those memory operations (name started with `mem`) nor the one I know as `bcopy`, but I can use to copy memory safe in that it takes a parameter about length of the destination? If there is/are, could you please list as many as possible?

Original source

Related problems