页次: 1
man gets_s没有这条目?!还有好多C11边界检查函数都没有?!
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
离线
应该不会有了,GNU 这边不喜欢这套东西。
这是C11争议很大的一部分。MS 力推的,最后被设置为可选的。
这些函数不止是加个 _s 的事情,还引入一套和以前 errno 机制不同的 Bounds-checking interfaces 机制,而这套机制的实现细节又是各种 implementaion defined。你要注册个 runtime-constraint handler 处理违反边界限制的情况,不然可能默认的 handler 是杀死进程啊。
而且说到底,不还是程序员给出边界限制,没有任何过程自动化。那这样为啥不用 fgets 呢,根本没啥优势啊,只不过换了一套更复杂的错误处理。
一些资料可以翻翻:
https://www.reddit.com/r/C_Programming/ … pport_the/
https://gustedt.wordpress.com/2013/02/0 … iolations/
https://www.securecoding.cert.org/confl … interfaces
Site: CVHC.CC Twitter: @cuihaoleo Org: LUG@USTC
AD: ~欢迎参与志愿计算~
离线
页次: 1