繁体   English   中英

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

[英]How to check the version of GMP, MPFR and CamlIDL?

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

非常感谢你

要检查GMP(MPIR)版本,请在名为libgmp.so.XYZ(libmpir.so.XYZ)的动态库中访问字符串__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()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM