Inlinec - 在 Python 脚本中使用 C 代码的新方法

项目 内联 提出了一种将 C 代码内联集成到 Python 脚本中的新方法。 C 函数直接在同一个 Python 代码文件中定义,并通过“@inlinec”装饰器突出显示。 摘要脚本由Python解释器按原样执行,并使用Python中提供的机制进行解析 编解码器,这使得可以在解释器解析脚本之前连接解析器来转换脚本(通常,codecs模块用于透明文本转码,但它也允许您任意转换脚本的内容)。

解析器作为模块连接(“from inlinec import inlinec”),它执行初始处理并即时将使用 @inlinec 注释突出显示的 C 函数的定义转换为 ctypes 绑定,并将 C 函数的主体替换为对这些绑定的调用。 经过这样的转换后,Python解释器会收到正确转换后的脚本源文本,其中使用以下命令调用C函数 类型。 项目中也采用了类似的方法 吡咯4,它允许您在一个文件中混合 HTML 和 Python 代码。

# 编码:内联
从 inlinec 导入 inlinec

@inlinec
定义测试():
#包括
无效测试(){
printf("你好,世界");
}

到目前为止,该开发只是一个实验原型,它存在一些缺点,例如缺乏对向函数传递指针(字符串除外)的支持,需要运行
“gcc -E”用于代码预处理,将中间的*.so、*.o和*.c文件保存在当前目录中,不缓存转换后的版本并执行不必要的解析阶段(每次运行时延迟很长)。

来源: opennet.ru

添加评论