Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
调用后是否需要检查错误uname(2)?
uname(2)
根据手册页:
成功时,返回零。出错时,返回 -1,并适当设置 errno。
在错误标题下,
EFAULT buf 无效。
是列出的唯一错误。
因此,如果给定一个有效的缓冲区,我可以假设它uname永远不会失败吗?struct utsname
uname
struct utsname
不。
仅仅因为EFAULT它是唯一errno列出的,并不意味着uname只要您传递一个有效的缓冲区就永远不会失败。它可能因任何其他原因而失败。即,如果uname的返回码是-1,那么无论 的值如何,它都会失败errno。
EFAULT
errno
-1
errno仅当函数/系统调用指示失败时才有意义;它本身并不定义库函数/系统调用的成功/失败。