Python通过cotypes与C混合编程
发布时间
阅读量:
阅读量
python可充当一种便捷的胶水材料,在与其他程序设计语言进行整合时较为容易。此外,在与C语言的整合过程中可采用Cyptes、Cython、Boost、Swig等多种方式。利用混合编程的优势可以使我们充分发挥各类语言的独特优势来完成特定任务;其中c语言的性能显著高于python语言。在CTypes整合方式下,其具体操作流程是将c源代码经过编译生成动态链接库(DLL或SO文件),随后在Python环境中使用ctypes动态链接库导入所需功能模块。
调用方式示例
#目前支持的dll方式也有多重如PyDLL\CDLL\OleDLL\WinDLL等;
from ctypes import *
exampledll = CDLL('example.dll')
exampledll.func.restype = c_bool #设置ctypes模块中对应的类型
exampledll.func.argtypes = [type1, ...] #设置ctypes模块中对应的类型
exampledll.func()
数据类型对应关系
该模块的基础数据格式与C语言的数据类型具有对应关系...。其中基本数据类型的初始化操作通常采用...例如c\_int(0)的方式来进行配置...。而对于指针数据类型的更改操作而言,则需要关注其对应的内存位置并未直接更改存
全部评论 (0)
还没有任何评论哟~
