2012-08-10 2 views

답변

6

Fortran 95에서 이것은 엄격하게 표준을 준수하는 방법으로 가능하지 않습니다. 공급 업체 확장을 사용해야합니다. 필요한 기능은 종종 LOC 또는 이와 유사한 내장 함수를 통해 사용할 수 있습니다.

Fortran 2003에서 Fortran 포인터가 가리키는 객체의 성격에 따라 객체의 C 주소 (메모리 위치)를 정수로 변환 할 수 있습니다.

USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_LOC, C_INTPTR_T 
TYPE(thing), POINTER :: object 
INTEGER(C_INTPTR_T) :: an_integer 
!**** 
ALLOCATE(object) 
an_integer = TRANSFER(C_LOC(object), an_integer) 
관련 문제