术语和定义(二)
正确舍入结果(correctly rounded result)
解释:正确舍入结果是指在当前舍入模式下,以值最接近的结果格式表示,结果被赋予无限的范围和精度。
根据ISO/IEC 9899:2024标准,正确舍入(correctly rounded)可以适用于产生正确舍入结果的操作,也可以适用于此类操作的输入。
如果结果格式包含无穷大(infinity),ISO/IEC 60559标准或者实现定义的规则将适用于极值结果(extreme magnitude results)。
诊断信息(diagnostic message)
解释:诊断信息属于实现信息输出中实现定义的信息。
向前引用(forward reference)
解释:向前引用是对文件后续子条款的引用,该子条款包含与包含引用的子条款相关的附加信息。
异步事件(asynchronous events)
解释:异步事件是独立于应用程序执行而发生的事件。
文本文件(text file)
解释:文本文件是组织成0行或者多行的、包含字符的文件。行中不包含空字符,长度包括换行符不超过行最大字节数。
字节输入/输出函数(byte input/output functions)
解释:字节输入/输出函数是从流中执行字节导向输入或者向流执行字节导向输出的函数。
例如:printf函数。
宽字符输入/输出函数(wide-character input/output functions)
解释:宽字符输入/输出函数是从流中执行宽字符导向输入或者向流执行宽字符导向输出的函数。
例如:wprintf函数。
实现(implementation)
解释:实现是指在特定编译环境中特定控制选项下运行的特定软件集,用于执行特定执行环境中的程序编译,并支持特定执行环境中函数的执行。
应用程序接口(application program interface或者API)
解释:应用程序接口提供计算机系统服务的语法和语义的定义。
实现限制(implementation limit)
解释:实现限制是实现对程序施加的限制。
存储单元(memory location)
解释:存储单元是标量对象或者具有非0宽度的相邻位字段的最大序列。
两个执行线程可以在不相互干扰的情况下更新和访问独立的存储单元。
位字段和相邻的非位字段成员位于不同的存储单元。两个位字段如果满足下述条件之一,将位于不同的存储单元:
① 一个位字段在嵌套结构中声明,但另一个位字段没有在嵌套结构中声明。
② 两个位字段之间存在0长度位字段。
③ 两个位字段之间存在非位字段成员。
如果两个位字段之间声明的所有成员都是非0长度的位字段,则同时更新同一结构中的两个非原子位字段是不安全的。
struct outer{ struct{ int a:2; } inner; int b:6; int :0; int c:3; int d:5; int number; int e:4; };
上述结构包含5个单独的存储单元:① 位字段inner.a、② 位字段b、③ 位字段c和位字段d、④ 结构成员number、⑤ 位字段e,其中位字段c和位字段d共同构成一个单独的存储单元。
位字段inner.a、位字段b、位字段c(或者位字段d)、结构成员number和位字段e可以同时修改;但位字段c和位字段d不能同时修改。
访问模式(access mode)
解释:访问模式是允许访问文件的一种特定形式。
例如:fopen函数,其函数原型为FILE *fopen(const char * restrict filename, const char * restrict mode);,其中参数mode确定文件访问模式。
互斥(mutex)
解释:互斥是一个同步对象,允许多个线程对共享数据进行有序访问。加锁互斥的线程成为互斥的所有者,并保持其所有者身份,直至解锁互斥。
对象(object)
解释:对象是执行环境中的数据存储区域,其内容可以表示值。被引用时,对象可以解释为具有特定类型。
异步输入/输出操作(asynchronous I/O operation)
解释:异步输入/输出操作不会导致请求输入/输出的线程被阻止进一步使用处理器。这意味着进程和输入/输出操作可并发运行。
导向(orientation)
解释:流具有以下三种导向之一:
① 无导向(unorientation)。
② 字节导向(byte-orientation)。
③ 宽字符导向(wide-orientation)。
形参,也称形式参数(parameter或者formal parameter)
解释:形参是作为函数声明或者定义的一部分而声明的对象,该对象在进入函数时获取值;或者是函数式宏定义中紧跟宏名的()内逗号分隔列表中的标识符。
#define sqr(x) ((x)*(x)) //x是形参。 int sum(int a, int b); //a和b都是形参。
推荐做法(recommended practice)
解释:推荐做法是标准强烈推荐的符合标准意图的规范,但对某些实现来说可能不切实际。
值(value)
解释:值是当对象解释为具有特定类型时,对象内容的精确含义。
实现定义值(implementation-defined value)
解释:实现定义值是未指定值,由实现决定如何选择。
例如:宏CHAR_BIT的值。