3
  1. 它在 GNU 中是否与 Microsoft C 运行时一样被弃用?

  2. 如果 GNU C 中有这样的弃用,89/90 之后的 C 标准或编译器是否强制执行弃用?

  3. 如果它是 GNU C 编译器,它从什么时候开始提供像Microsoft Cmemcpy_s中已弃用的那样安全的替代内存操作功能?memcpy

  4. 如果它是 89/90 之后的 C 标准,它从什么时候开始提供像Microsoft Cmemcpy_s中已弃用的那样安全的替代内存操作功能?memcpy

  5. mem如果在 GNU C 运行时中没有这样的弃用,是否有一个函数既不在那些内存操作(名称bcopy以目的地?

  6. 如果有/有,你能列出尽可能多的吗?

4

2 回答 2

6

该功能memcpy未被弃用。它是库中最安全、最有用的功能之一。该memcpy_s功能在 C11 中成为标准(可选,参见附件 K 中的“边界检查接口”)。

于 2012-08-18T10:15:14.020 回答
6

memcpy_s自 C11 以来已添加,但它是可选扩展。memcpy在 C 中没有被弃用,也不是一个过时的函数。

glibc截至目前不支持_s功能,并且没有计划(AFAIK)让glibc团队支持它们。

于 2012-08-18T10:16:04.423 回答