【发布时间】:2016-03-12 05:04:07
【问题描述】:
syscall 的man 页面说,“当 c 库中没有包装函数时它很有用”。如果包装功能可用,使用包装功能总是更好吗?如果没有,什么时候应该更喜欢syscall?
【问题讨论】:
标签: linux system-calls glibc
syscall 的man 页面说,“当 c 库中没有包装函数时它很有用”。如果包装功能可用,使用包装功能总是更好吗?如果没有,什么时候应该更喜欢syscall?
【问题讨论】:
标签: linux system-calls glibc
从不。
您应该永远考虑使用syscall() 的唯一情况是调用在您的C 库中没有包装器的系统调用。与 libc 包装器相比,它绝对没有优势,而且有很多缺点。 (例如:它不太清晰,不可移植,并且绕过了对参数数量和类型的编译时检查。)
【讨论】: