Reputation: 777
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?
Upvotes: 3
Views: 3772
Reputation: 145899
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.
Upvotes: 6
Reputation: 182674
The function memcpy
is not deprecated. It's one of the safest and most useful functions in the library. The memcpy_s
function became standard in C11 (optional, see "Bounds-checking interface" in Annex K).
Upvotes: 6