如果将共享变量传递到非内在过程,可能导致该共享变量的值在过程引用之前被复制到临时存储中,并在过程引用之后又从临时存储中复制到实元参数存储中。仅当 OpenMP 3.0 规范第 88 页的 2.9.3.2 节中的条件 a、b、c 成立时,才会发生这种向临时存储复制数据以及从临时存储向外复制数据的情况,这三个条件如下:
实元参数为以下参数之一:
共享变量
共享变量的子对象
与共享变量关联的对象
与共享变量子对象关联的对象
实元参数也可以是以下参数之一:
数组段
带有向量下标的数组段
假定形状数组
指针数组
此实元参数的关联哑元参数是显式形状数组或假定大小数组。