首先,对不起我的英语。在
在Python脚本中使用动态库(gnugsllibrary)中的函数有一些问题。在
实际上,我知道使用函数,但是我需要定义一个结构whitec类型的数据来使用一个特殊的函数。在
首先,这是一个在C++脚本中使用函数的例子,我将在Python脚本中使用:
double fn1 (double x, void * params)
{
return cos(x) + 1.0;
}
int
main (void)
{
gsl_min_fminimizer *s;
double m = 2.0, m_expected = M_PI;
double a = 0.0, b = 6.0;
gsl_function F;
F.function = &fn1;
F.params = 0;
T = gsl_min_fminimizer_brent;
s = gsl_min_fminimizer_alloc (T);
gsl_min_fminimizer_set (s, &F, m, a, b);
...
}
标题中gsl_函数的typedef为:
^{pr2}$我知道在ctypes中使用函数:
#Library Call
lib_gsl=CDLL(path_gsl+"gsl.dll")
#Functions Define
gsl_opti_brent=lib_gsl.gsl_min_fminimizer_brent
gsl_opti_alloc=lib_gsl.gsl_min_fminimizer_alloc
gsl_opti_init=lib_gsl.gsl_min_fminimizer_set
T=gsl_opti_brent
T_=pointer(T)
s=gsl_opti_alloc(T_)
在此之前,没有问题,但是当我想使用函数gsl_min_fminizer_set时,我需要在名为gsl_function的头中定义一个特殊类型。在
有人知道如何在Python中定义typedef gsl_函数,以使用名为函数gsl_min_fminizer_set的dll?在
谢谢。 我希望我是明确的
我想你在找
ctypes.Structure
。这里有一种在python中创建结构的方法如需更多示例,请查看ctypes documentation.
您应该看看thisctypes教程(特别是结构和回调函数)。在
应该是这样的:
相关问题 更多 >
编程相关推荐