G95의 쿼드 정밀도가있는 'QCOS_'및 '_G95_QCOS_R16'에 대한 정의되지 않은 참조

StackOverflow https://stackoverflow.com//questions/20036637

  •  21-12-2019
  •  | 
  •  

문제

Fortran에서 쿼드 정밀도를 만들려고 노력했습니다 [실제 (Kind= 16)] 그러나 오류가 계속 발생합니다

C:\User\User\AppData\Local\Temp/ccUMY6b.0:forcefunction.f95:(.text+0x437):
undefined reference to 'qcos_'
.

qcoscos로 변경하려고 시도했지만

C:\User\User\AppData\Local\Temp/ccM5CBUM.0:forcefunction.f95:(.text+0x2fd1):
undefined reference to '_g95_qcos_r16'
.

sin, abs, acos, asin, sqrt

에 대한 동일한 문제

도움이 되었습니까?

해결책

kind=16는 반드시 쿼드 정밀도가 아닙니다.종류의 값은 언어 표준에 의해 정의되지 않으며 컴파일러에서 휴대용이 아닙니다.16 명이 컴파일러의 쿼드 정밀도의 종류가 아닐 수도 있습니다.

모든 컴파일러가 모든 아키텍처에서 쿼드 정밀도를 지원하는 것은 아닙니다.다음 값을 인쇄하여 확인할 수 있습니다.

selected_real_kind (14)
selected_real_kind (17)
selected_real_kind (32)
.

첫 번째 요청 이중 정밀도, 다음 중간 정밀도 (10 바이트)가 때로는 인텔 프로세서 및 마지막 쿼드에서 사용할 수 있습니다.컴파일러가 요청한 소수 자릿수를 지원하지 않으면 selected_real_kind 함수는 -1를 반환합니다.

다른 팁

G95 4.0.3으로 시스템에서 문제를 확인할 수 있습니다.

이 글타래에 따르면 http : //Coding.derkeiler.com/archive/fortran/comp.lang.fortran/2009-02/msg00668.html 내장 함수는 아직 쿼드 정밀도를 위해 구현되지 않습니다.따라서 컴파일러를 변경하거나 이중 정밀도 만 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top