man syscall
的页面说,“当 c 库中没有包装函数时它很有用”。如果包装函数可用,使用包装函数总是更好吗?如果不是,什么时候应该优先使用 syscall
?
最佳答案
从不。
您应该考虑使用 syscall()
的唯一情况是调用一个在您的 C 库中没有包装器的系统调用。与 libc 包装器相比,它绝对没有优势,而且有很多缺点。 (例如:它不太清晰、不可移植,并且绕过了编译时对参数数量和类型的检查。)
关于linux - 什么时候应该使用系统调用函数而不是 glibc 包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35953997/