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