Linux 什么时候应该使用syscall函数而不是glibc包装器?
Linux 什么时候应该使用syscall函数而不是glibc包装器?,linux,system-calls,glibc,Linux,System Calls,Glibc,syscall的第页说,“当c库中没有包装函数时,它很有用”。若包装器函数可用,那个么使用包装器函数是否总是更好?如果不是,什么时候应该更喜欢syscall而不是它?永远不要 您应该考虑使用 SysCalAL()/Cux>的唯一情况是调用一个在C库中没有包装器的系统调用。与libc包装器相比,它绝对没有优势,但也有许多缺点。(例如:它不太清晰,不可移植,并且绕过了对参数数量和类型的编译时检查。)从不 您应该考虑使用 SysCalAL()/Cux>的唯一情况是调用一个在C库中没有包装器的系统调用。
syscall
的第页说,“当c库中没有包装函数时,它很有用”。若包装器函数可用,那个么使用包装器函数是否总是更好?如果不是,什么时候应该更喜欢syscall
而不是它?永远不要
<>您应该考虑使用<代码> SysCalAL()/Cux>的唯一情况是调用一个在C库中没有包装器的系统调用。与libc包装器相比,它绝对没有优势,但也有许多缺点。(例如:它不太清晰,不可移植,并且绕过了对参数数量和类型的编译时检查。)从不
<>您应该考虑使用<代码> SysCalAL()/Cux>的唯一情况是调用一个在C库中没有包装器的系统调用。与libc包装器相比,它绝对没有优势,但也有许多缺点。(例如:它不太清晰,不可移植,并且绕过了对参数数量和类型的编译时检查。)我想不出任何时候需要使用
syscall
。使用wrappers.Hi@EdHeal,我的问题是受strace测试套件中大量使用syscall的启发提出的。例如,它正在测试内核。这与日常生活有什么关系usage@EdHeal:尽管在测试中使用了包装函数。有什么原因吗?我想不出什么时候需要使用syscall
。使用wrappers.Hi@EdHeal,我的问题是受strace测试套件中大量使用syscall的启发提出的。例如,它正在测试内核。这与日常生活有什么关系usage@EdHeal:尽管在测试中使用了包装函数。有什么原因吗?