Python调用C语言函数
来源:互联网 发布:unity3d 行走动画 编辑:程序博客网 时间:2024/05/17 02:50
使用Python的ctypes,我们可以直接调用由C直接编译出来的函数。其实就是调用动态链接库中的函数。为什么我们需要这样做呢,因为有些时候,我们可能需要一个性能上比较讲究的算法,有些时候,我们可以在Python中使用已经有了的现成的被封闭在动态链接库中的函数。下面是如何调用的示例。
首先,我们用一个乘法来表示一个算法功能。下面是C的程序:
1
2
3
4
5
int
multiply(
int
num1,
int
num2)
{
return
num1 * num2;
}
如果在Windows下,你可能需要写成下面这个样子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
BOOL
APIENTRY
DllMain(
HANDLE
hModule,
DWORD
dwReason,
LPVOID
lpReserved)
{
return
TRUE;
}
__declspec
(
dllexport
)
int
multiply(
int
num1,
int
num2)
{
return
num1 * num2;
}
然后,自然是把这个C文件编成动态链接库:
Linux下的编译:
1
2
gcc -c -fPIC libtest.c
gcc -shared libtest.o -o libtest.so
Windows下的编译:
1
cl -LD libtest.c -libtest.dll
于是在我们的Python中可以这样使用:
(其中的libtest.so在Windows下改成libtest.dll即可)
1
2
3
4
5
>>>
from
ctypes
import
*
>>>
import
os
>>> libtest
=
cdll.LoadLibrary(os.getcwd()
+
'/libtest.so'
)
>>>
print
libtest.multiply(
2
,
2
)
4
注意:上面的Python脚本中需要把动态链接库放到当前目录中。
转自:http://coolshell.cn/articles/671.html
- Python调用C语言函数
- Python调用C语言函数
- Python调用C语言函数
- Python调用C语言函数
- Python调用C语言函数
- C语言调用Python函数
- C语言调用Python脚本中的函数
- python调用C语言里面的函数
- Python--调用C语言
- Python调用c语言
- C语言函数调用
- 【C语言】调用函数
- C语言函数调用
- Python 调用 C函数
- python 调用 c 函数
- python调用c语言函数的一种简单实现方法
- 【VS2013】C语言调用Python脚本环境搭建、函数调用和调用demo.py脚本an
- C语言调用python代码
- 摘抄语录
- C#控制窗体在固定区域显示
- mini2440 pwm蜂鸣器设备驱动开发源代码(宋宝华框架)
- 安装Microsoft Windows SDK 7.1时出现的错误(附解决办法)
- [转]Eclipse快捷键
- Python调用C语言函数
- 穿梭于北京的地铁站
- mini2440 rtc时钟设备驱动开发源代码(宋宝华框架)
- 排序系列之归并排序
- linux设备驱动开发之《报警器项目》源代码
- 笔面试经历(一)
- hdu1728 逃离迷宫
- 学习不光是理性的也同样是感性的
- 设计模式之二:简单工厂模式