- 主题:求助:python调用某个C语言函数库的方法,谢谢
如果带define,那其实这东西的调用协议都没有标准化吧?
【 在 diyiwuji 的大作中提到: 】
: 非常感谢楼上各位的指点。
: cffi API模式好像也是需要涉及到类型转换的吧。
: 而且我原本以为cffi api模式可以直接引入c语言的头文件就可以了。但是发现cffi无
: 法实现对于#include #define等预处理语句处理,会报错。而c语言头文件中有一堆这样
: 的内容。
--
FROM 139.227.19.*
建议先忘掉C语言库的接口长什么样子,别看头文件,只想想你想要干什么,为了实现这个功能,python api应该长什么样,然后把接口定义写了。完事之后,只是调用C库实现你的功能而已。
举个例子,numpy调用了intel mkl 做矩阵计算,但如果numpy里也是一堆 gemm ,恐怕没人愿意用它。
【 在 diyiwuji (无极) 的大作中提到: 】
: 发信人: diyiwuji (无极), 信区: Python
: 标 题: 求助:python调用某个C语言函数库的方法,谢谢
: 发信站: 水木社区 (Tue Jul 2 21:43:16 2024), 转信
:
--
FROM 60.188.217.*
大模型推荐pip install maturin 试过可以
【 在 ToSimplicity 的大作中提到: 】
: 建议参考numpy,标杆水平的
: 搭车问如果用rust做算法,python搞其它,什么个架构比较好?有没有示范的应用例子?
: 印象里dropbox是这个组合,不知道他们是怎么搞的。
: ...................
--
FROM 103.216.43.*
python里有struct可以解析c结构体
不过,还是建议把接口改进一下,c对外只暴露简单接口, 不要把那么复杂的接口暴露出来
让那些复杂结构就在c内部 传递
【 在 diyiwuji 的大作中提到: 】
: 目前有个c语言函数库,需要在python中调用该函数库中的相关函数接口。经过查询发现有ctypes、cffi以及cython三种方法。
: 但是经过实际学习了解之后发现,因为该c语言函数库中自定义的数据类型很多,而且有些自定义的struct中的某些字段还是自定义的数据类型,如此嵌套多次,而且其中包括了回调函数等。
: 因此导致发现封装的时候很复杂。
: ...................
--
FROM 59.44.12.*
谢谢楼上各位大侠的指点。
也谢谢您。我觉得您的建议很有道理。不过需要对该C库很熟悉和了解才能再次封装成简单接口。再次感谢
【 在 sixue1999 的大作中提到: 】
: python里有struct可以解析c结构体
: 不过,还是建议把接口改进一下,c对外只暴露简单接口, 不要把那么复杂的接口暴露出来
: 让那些复杂结构就在c内部 传递
: ...................
--
FROM 117.129.58.*
其实就是,你准备怎么用c库,先用c调用它,在对外暴露一个更简单更容易让python调用的接口
【 在 diyiwuji 的大作中提到: 】
: 谢谢楼上各位大侠的指点。
: 也谢谢您。我觉得您的建议很有道理。不过需要对该C库很熟悉和了解才能再次封装成简单接口。再次感谢
--
FROM 59.44.12.*