JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:OpenMP API 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  OpenMP API 简介

2.  编译并运行 OpenMP 程序

3.  实现定义的行为

4.  嵌套并行操作

5.  任务处理

6.  自动确定变量的作用域

7.  作用域检查

7.1 使用作用域检查功能

7.2 限制

8.  性能注意事项

A.  子句在指令中的放置

索引

第 7 章

作用域检查

自动确定作用域功能可以帮助程序员决定如何确定变量的作用域。但是,对于一些复杂程序,自动确定作用域可能不会成功,或者无法实现程序员期望的结果。错误确定作用域可能引发许多不引人注意但很严重的问题。例如,将某些变量的作用域错误地确定为 SHARED 可能会导致数据争用;将变量错误地专有化可能会在构造之外为变量使用未定义的值。

Oracle Solaris Studio C、C++ 和 Fortran 编译器提供了一个编译时作用域检查功能,编译器可以通过该功能来确定 OpenMP 程序中的变量是否正确确定了作用域。

根据编译器的功能,作用域检查可以发现数据争用、不适当专有化、变量归约等潜在问题以及其他作用域问题。在作用域检查期间,编译器会对程序员指定的数据共享属性、编译器确定的隐式数据共享属性和自动确定作用域结果进行检查。