如何检查GMP,MPFR和CamlIDL的版本?

时间:2011-09-19 09:59:51

标签: ocaml gmp mpfr

我的问题很简单......我如何查看机器上安装的GMP版本? MPFR怎么样?那么CamlIDL呢?

非常感谢

2 个答案:

答案 0 :(得分:2)

要检查GMP(MPIR)版本,请在名为libgmp.so.X.Y.Z(libmpir.so.X.Y.Z)的动态库中访问字符串__gmp_version(__ mpir_version)。您的标准库目录可能包含多个此类文件(如果您安装较新版本的GMP或MPIR,但是您的软件包管理器选择保留旧版本,因为它仍然需要)会发生这种情况。

benchmark_det_Dixon.py切断一个小的Python代码片段:

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

上面的代码只适用于Linux / Unix;应该可以将它移植到ctypes Python包支持的其他操作系统。

要获得MPFR版本,请调用mpfr_get_version():

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

答案 1 :(得分:0)

标准的Autoconf方法是选择一些所需的最低版本X而不是版本X-1的库函数,然后查看是否可以成功编译一个调用该函数的小程序。它不像查询某个版本字符串的oracle那样优雅,但它具有证明构建环境实际上是正确的优点。