使用免费的 pascal 为 Python 开发一个模块 (.pyd) 相当容易,请参阅使用 Pascal 开发 Python 模块。但是如果我想与 numpy 交互,这并不容易。使用 C 与 numpy 接口时,必须#include <numpy/arrayobject.h>
在代码中添加,还要import_array();
在初始化函数中调用。
有没有办法在帕斯卡中与 numpy 交互?
编辑1
正如@wilberforce 答案下的评论import_array
中所述,头文件中定义的函数只是将 multiarray.pyd 模块导入当前解释器并进行一些检查。它很容易翻译成帕斯卡并且可以工作。
numpy C-API 函数最初不存在于 pythonXX.dll 中,因此它们不能静态链接。与 multiarray.pyd 的静态或动态链接对我不起作用。
所以更新的问题是:有没有办法从不是 C 的代码中访问嵌入在 multiarray.pyd 中的 C-API 函数?