2011-09-19 3 views

답변

0

이 작업을 수행하는 표준의 Autoconf 방법은 성공적으로 작은 프로그램을 컴파일 할 수있는 경우 필요한 최소 버전 X에서의하지 버전에서 X-1은 다음을 참조 일부 라이브러리 기능을 선택하는 당신에게 대단히 감사합니다 그 그 기능을 호출합니다. 일부 오라클에 버전 문자열을 쿼리하는 것만 큼 우아하지는 않지만 빌드 환경이 실제로 옳다는 것을 입증하는 이점이 있습니다.

1

GMP (MPIR) 버전을 확인하려면 libgmp.so.X.Y.Z (libmpir.so.X.Y.Z)라는 동적 라이브러리에서 문자열 __gmp_version (__ mpir_version)에 액세스하십시오. 표준 라이브러리 디렉토리에 두 개 이상의 파일이있을 수 있습니다 (이는 GMP 또는 MPIR의 최신 버전을 설치했지만 패키지 관리자가 여전히 필요하기 때문에 이전 버전을 유지하도록 선택한 경우 발생합니다). benchmark_det_Dixon.py에서 작은 파이썬 코드 조각을 절단

:

import ctypes 
so_name='/usr/lib/libgmp.so' 
var_name='__gmp_version' 
L=ctypes.cdll.LoadLibrary(so_name) 
v=ctypes.c_char_p.in_dll(L,var_name) 
print v.value 

단지 리눅스/유닉스에서 작동 위의 코드; ctypes Python 패키지가 지원하는 다른 OS로 이식 할 수 있어야합니다.

M=ctypes.cdll.LoadLibrary('/usr/lib/libmpfr.so') 
M.mpfr_get_version.restype=ctypes.c_char_p 
print M.mpfr_get_version() 
:

는 MPFR 버전, 전화 mpfr_get_version()을 얻으려면
관련 문제