memcpy不安全吗?

San*_*a R 0 memcpy

重复:

Memcpy()在安全编程中?


根据" 请加入我欢迎memcpy()到SDL Rogues画廊 " memcpy被禁止为不安全.有意义的是gets(),strcpy目的地大小不清楚的类似的apis.是memmove()下一个?

Kon*_*lph 6

所有这些"安全"方法的关键是:

当然,您可以memcpy_s()通过错误地调整缓冲区大小来轻松调用不安全的方法.

[ 来源 ]

这就是为什么我发现这个SDL功能高度过度炒作的原因.当然,如果编译器没有采取预防措施(或者在性能和/或存储器方面成本很高的适当运行时),这些问题在诸如C之类的语言中是固有的.

它还使程序不那么便携,我个人认为这是一个巨大的劣势.当然,微软不一定会同意.

正确使用(已检查)迭代器将代码迁移到C++可能会更有意义.这些操作虽然本质上也不安全,但更容易使用,并使错误的代码脱颖而出.当然,需要注意的是,所有那些C粉丝和C++否认者都会在我的皮肤之后......