从python调用Cfunctions的最佳方法是什么?

2024-04-24 01:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一个高级的电机控制器,到了一定程度,我想用更低的级别来获得一些速度,所以我对用C编写这些位很感兴趣

我对C没有太多的经验,但是我正在研究的数学非常简单,所以我相信我可以用最少的时间去实现。我不确定的是如何最好地调用这个已编译的C程序,以便将它的输出通过管道返回到我的高级python控制器中。在

我使用了一些ctypes,但只是从Manufacturer提供的DLL中提取一些函数…不确定在这种情况下,这是否是一个合适的路径。在

有什么想法吗?在


Tags: 函数程序管道时间情况数学经验控制器
3条回答

另一个选择:试试numba。 它为您免费提供类似C语言的速度:只需导入numba和@autojit您的函数,就可以获得非常好的速度提升。在

如果你有复杂的数据类型,这是不起作用的,但是如果你在数组索引中循环和跳跃,它可能正是你想要的。在

你可以使用SWIG,这是非常简单的使用

你可以看看这个教程here。在

另外,python官方网站here上有一个更可靠的例子。在

例如

sum.h函数

int sum(int a, int b)

一个名为module.c的文件

^{pr2}$

Python

import module
s = module.sum(3,5)

相关问题 更多 >