在GNU中是否与在Microsoft C运行时中弃用相同?
是否弃用,如果在GNU C中有这样的内容,在89/90或编译器之后由C的后续标准强制执行?
如果它是GNU C编译器,那么它什么时候提供了像{C} {}}这样的安全替代内存操作函数到Microsoft C中已弃用的memcpy_s
?
如果它是89/90之后的C标准,那么它什么时候提供像memcpy
这样安全的替代内存操作函数到Microsoft C中已弃用的memcpy_s
?
如果在GNU C运行时没有这样的弃用,是否有一个函数既不是那些内存操作(名称以memcpy
开头)也不是我所知道的mem
,但我可以用来复制内存安全,因为它需要一个关于目标长度的参数吗?
如果有,请列出尽可能多的人吗?
答案 0 :(得分:6)
不推荐使用memcpy
函数。它是库中最安全,最有用的功能之一。 memcpy_s
函数在C11中成为标准函数(可选,请参阅附录K中的“ Bounds-checking interface ”。
答案 1 :(得分:6)
memcpy_s
,但它是可选的扩展名。 memcpy
在C中尚未弃用,并且不是过时功能。
glibc
不支持_s
个功能,glibc
团队没有计划(AFAIK)支持这些功能。