📄 interfaces.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><!-- Copyright 1997 The Open Group, All Rights Reserved --><title>Use and Implementation of Interfaces</title></head><body bgcolor=white><center><font size=2>The Single UNIX ® Specification, Version 2<br>Copyright © 1997 The Open Group</font></center><hr size=2 noshade><blockquote><center><h3><a name = "tag_000_006"> </a>Use and Implementation of Interfaces</h3></center><xref type="2" name="interface"></xref>Each of the following statements applies unless explicitly statedotherwise in the detailed descriptions that follow. If an argument to afunction has an invalid value (such as a value outside the domain of thefunction, or a pointer outside the address space of the program, or anull pointer), the behaviour is undefined. Any function declared in aheader may also be implemented as a macro defined in the header, so a libraryfunction should not be declared explicitly if its header is included.Any macro definition of a function can be suppressed locally byenclosingthe name of the function in parentheses, because the name is then notfollowed by the left parenthesis that indicates expansion of a macrofunction name. For the same syntactic reason, it is permitted to takethe address of a library function even if it is also defined as a macro.The use of the C-language<b>#undef</b>construct to remove any such macro definitionwill also ensure that an actual functionis referred to. Any invocation of a library function that is implementedas a macro will expand to code that evaluates each of its argumentsexactly once, fully protected by parentheses where necessary, so it isgenerally safe to use arbitrary expressions as arguments. Likewise,those function-like macros described in the following sections may beinvoked in an expression anywhere a function with a compatible returntype could be called.<p>Provided that a library function can be declared without reference to anytype defined in a header, it is also permissible to declare thefunction, either explicitly or implicitly, and use it withoutincluding its associated header.If a function that accepts a variable number ofarguments is not declared (explicitly or by including its associatedheader), the behaviour is undefined.<p>As a result of changes in this issue of this specification, applicationwriters are only required to include the minimum number of headers.Implementations of XSI-conformant systems will make all necessarysymbols visible as described in the Headers section of this specification.<h4><a name = "tag_000_006_001"> </a>Use of File System Interfaces</h4>The Interfaces in this volume that operate on files can behavedifferently if the file that is being operated on has been madeavailable by a network file system.If the network file system is an XSI-conformant system conformingto the <b>XNFS</b> specification, the differences that can occur are detailed inAppendices A and B of that document.</blockquote><hr size=2 noshade><center><font size=2>UNIX ® is a registered Trademark of The Open Group.<br>Copyright © 1997 The Open Group<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]</font></center><hr size=2 noshade></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -