Pregunta

  1. Is it same deprecated in GNU as in Microsoft C runtime?

  2. Is deprecation, if there is such in GNU C, enforced by later standard of C after 89/90 or the compiler?

  3. 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?

  4. 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?

  5. 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?

  6. If there is/are, could you please list as many as possible?

¿Fue útil?

Solución

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.

Otros consejos

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).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top