intro() - Unix 和 Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

intro() - Unix 和 Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

intro - 系统调用的介绍

描述

手册的第 2 节描述了 Linux 系统调用。系统调用是进入 Linux 内核的入口点。通常,不会直接调用系统调用:相反,大多数系统调用都有相应的 C 库包装函数,这些函数执行所需的步骤(例如,陷入内核模式)以调用系统调用。因此,进行系统调用看起来与调用普通库函数相同。

有关 Linux 系统调用的列表,请参阅 syscalls(2)。

返回值

发生错误时,大多数系统调用返回一个负错误号(即 errno(3) 中描述的某个常量的负值)。C 库包装器会向调用方隐藏此细节:当系统调用返回负值时,包装器会将绝对值复制到 errno 变量中,并将 -1 作为包装器的返回值返回。

成功系统调用返回的值取决于调用。许多系统调用在成功时返回 0,但有些系统调用在成功调用时可以返回非零值。详细信息在各个手册页中进行了描述。

在某些情况下,程序员必须定义一个功能测试宏,以便从手册页 SYNOPSIS 部分中指定的头文件中获取系统调用的声明。在这种情况下,所需宏在手册页中进行了描述。有关功能测试宏的更多信息,请参阅 feature_test_macros(7)。

符合标准

某些术语和缩写用于指示此部分中调用的符合的 Unix 变体和标准。请参阅 standards(7)。

备注

直接调用

在大多数情况下,无需直接调用系统调用,但有时标准 C 库不会为您实现一个好的包装函数。在这种情况下,程序员必须使用 syscall(2) 手动调用系统调用。从历史上看,这也可以使用 _syscall(2) 中描述的 _syscall 宏之一来实现。

作者和版权条款

查看手册页源的标题以了解作者和版权条件。请注意,这些内容在各个页面之间可能有所不同!

参见

此页面是 Linux man-pages 项目 3.00 版的一部分。有关该项目以及有关报告错误的信息,请访问 http://www.kernel.org/doc/man-pages/。

previous next Printer Friendly

广告


  

广告



广告