Dra*_*sha 8 c linux operating-system
有系统调用,它允许在Linux的间接系统调用.使用它的原因是什么 - 为什么它比直接调用函数更好?
Nem*_*emo 11
有时内核会添加系统调用,C库需要一段时间才能支持它们.
或许你正在编译一个旧的Linux发行版,但想要在更新的版本上运行.
示例代码:
// syscall 277 is sync_file_range() on x86_64 Linux. The header
// files lack it on scc-suse10 where we compile, but the
// performance benefits are substantial, so we just call it
// directly. FIXME someday.
#define SYNC_FILE_RANGE_WRITE 2
syscall(277, fd, done, n, SYNC_FILE_RANGE_WRITE);
Run Code Online (Sandbox Code Playgroud)
但总的来说,syscall
如果编译环境中的C库具有您所需的内容,则使用它没有任何优势.(一方面,它比使用特定于Linux的接口更不便携,因为系统调用数量因CPU而异.)