LAPI_Address 子例程

用途

返回指定用户地址的无符号长整型值。

可用性库 (liblapi_r.a)

C 语法

#include <lapi.h>
 
int LAPI_Address(my_addr, ret_addr)
void   *my_addr;
ulong  *ret_addr;
Note: 此子例程由 FORTRAN 程序使用。 提供 LAPI_Address 的 C 版本仅出于兼容性目的。

FORTRAN 语法

include 'lapif.h'
 
LAPI_ADDRESS(my_addr, ret_addr, ierror)
INTEGER (KIND=any_type) :: my_addr
INTEGER (KIND=LAPI_ADDR_TYPE) :: ret_addr
INTEGER ierror
其中:
any_type
是任何 FORTRAN 数据类型。 此类型声明与 C 中的类型 void * 具有相同的含义。

描述

Type of call: 本地地址操作

当需要在数组中存储指定的地址时,在 FORTRAN 程序中使用此子例程。 在 FORTRAN 中,地址 (&) 的概念不像在 C 中那样存在。 LAPI_Address 为 FORTRAN 程序员提供此功能。

参数

INPUT
my_addr
指定要转换的地址。 此参数的值不能为 NULL (在 C 中) 或 LAPI_ADDR_NULL (在 FORTRAN 中)。
输出
ret_addr
返回存储在 my_addr 中的地址,作为用于 LAPI 调用的无符号长整型值。 此参数的值不能为 NULL (在 C 中) 或 LAPI_ADDR_NULL (在 FORTRAN 中)。
国际错误
指定 FORTRAN 返回码。 这始终是最后一个参数。

FORTRAN 示例

要检索变量的地址,请执行以下操作:

! Contains the address of the target counter  
integer (KIND=LAPI_ADDR_TYPE) :: cntr_addr              
      
! Target Counter
type (LAPI_CNTR_T) :: tgt_cntr                                              
      
! Return code
integer :: ierror                                      
      
call LAPI_ADDRESS(tgt_cntr, cntr_addr, ierror)
      
!  cntr_addr now contains the address of tgt_cntr

返回值

LAPI_SUCCESS
指示已成功完成函数调用。
LAPI_ERROR_ORG_ADDR_NULL
指示 my_addr 的值为 NULL (在 C 中) 或 LAPI_ADDR_NULL (在 FORTRAN 中)。
LAPI_ERR_TGT_ADDR_NULL
指示 ret_addr 的值为 NULL (在 C 中) 或 LAPI_ADDR_NULL (在 FORTRAN 中)。

位置

/usr/lib/liblapi_r.a