1.4 遵从性

OpenMP C/C++ API 的实现是 OpenMP CLS,则识别和保留此规范的所有元素语义,如均放置在第 1 章,第 2 章,第 3 章,第 4 章和附录 C。 附录 A、 B、 D、 E 和 F 仅出于信息的用途为而不是规范。 包括 API 的一个子集的实现不是 OpenMP 兼容。

OpenMP C 和 C++ API 是扩展到由实现支持的基本语言。 如果这种基本语言不支持语言构造或中显示的扩展文档,不需要 OpenMP 实现支持它。

所有标准 C 和 C++ 库函数和内部函数 (即函数的编译器有特定知识) 都必须是线程安全的。 对于由不同的线程的线程安全功能的不同步使用在并行区域中不会产生未定义的行为。 但是,此行为可能不与在串行区域方面。 (随机数生成功能是一个示例。)

OpenMP C/C++ API 指定某一行为*实现中定义。*需要一个匹配的 OpenMP 实现在这些情况下定义和文档其行为。 为实现中定义的行为列表参见 附录 E,第 97 页,。