如何将 Cython 生成的模块从 python 导入到 C/C++ 主文件? (C/C++ 编程)[关闭]

2023-11-29

因此,我有一个用 python 编写的函数,并且按照 Cython 文档“使用 distutils 构建 Cython 模块”中的步骤进行操作。但是,我不清楚如何使用在 python 中工作的模块(通过导入它)嵌入到 C/C++ 中?我只想编译一个 C/C++ 代码,使用 Cython 导入 python 生成的模块(我猜这是一个 2 步过程)

*为了澄清,我已经完成了所有步骤并从 .pyx 源文件创建了一个 python 模块。但我的问题是如何将该模块集成到现有的 C/C++ 文件中。


只需将您想要在 c/c++ 中调用的内容声明为cdef public

例如:

# cymod.pyx
from datetime import datetime

cdef public void print_time():
    print(datetime.now().ctime())

细胞通化时cymod.pyx to cymod.c, a cymod.h也会生成。

然后创建一个库,例如:cymod.lib(在 Windows 上)。

在c代码(main.c)中:

#include "Python.h"
#include "cymod.h"


int main(int argc, char **argv)
{
Py_Initialize();  

PyInit_cymod();  // in cymod.h
print_time();    // call the function from cython

Py_Finalize();
return 0;
}

编译并运行(main.exe)

Note:main.exe 与 python 环境高度绑定,可能会遇到以下错误cannot find pythonxx.dll, Fatal Python error: Py_Initialize: unable to load the file system codec。这个网站上有很多解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Cython 生成的模块从 python 导入到 C/C++ 主文件? (C/C++ 编程)[关闭] 的相关文章

随机推荐

  • 未来的建造者会在每个设定状态上不断重建

    我正在构建一个使用 api 的应用程序 并且我正在使用 future 构建器来获取数据 但问题是当状态更改时它会重建 我想防止这种情况发生 Thanks 尝试使用这个 class Example extends StatefulWidget
  • 将 XmlHttpRequest 解析为 XmlListModel

    我想将检索到的 xmlHttpRequest 对象放入 XMLListModel 中 我正在使用 qml 主要目标是评估我获得的 xml 并显示列表中的条目 如果有更好的方法 请告诉我 我在这里找到了一个用于分析 xml 的 解决方案 ht
  • Android Studio无法加载项目

    更新最新的Android studio后 我无法再加载项目了 并且错误消息 无法加载项目 com intellij ide plugins PluginManager StartupAbortedException 致命 初始化 com i
  • 将 .XLSX 转换为 Google Sheet 并移动转换后的文件的脚本

    我知道可以使用脚本和驱动 API 将 Excel 文件转换为 Google Sheets 但我正在寻找脚本来转换 Excel 工作表并将转换后的文件移动到其他文件夹 所以需要的步骤如下 将 Excel xls xlsx 从文件夹 A 转换为
  • 即使我运行程序时也获得不同的线程顺序

    有人可以告诉我线程开始执行的顺序吗 我写了下面的代码 class NewThread implements Runnable Thread t NewThread creating a second thread t new Thread
  • 值类中的验证

    SIP 15 意味着可以使用值类别来定义新的数字类别 例如正数 是否可以在没有构造函数的情况下编写底层 gt 0 的约束 而不必调用单独的方法来验证约束 即 创建此类的有效实例是简洁的 如果值类具有构造函数的概念 那么这可能是进行如下验证的
  • Laravel 资源 URL 忽略 https

    我在模板中使用以下代码来加载 CSS 文件 如果我在本地计算机上通过 https 查看页面 则指向 app css 文件的链接也是 https 但是在我的实时服务器上 这种情况不会发生 如果你查看现场直播通过 https 并查看源代码 您可
  • 延续和回调有什么区别?

    我一直在浏览整个网络 寻找有关延续的启示 令人难以置信的是 最简单的解释竟然能让像我这样的 JavaScript 程序员完全困惑 当大多数文章用Scheme 中的代码解释延续或使用monad 时尤其如此 现在我终于认为我已经理解了延续的本质
  • 如何在 pyspark 数据框中创建连续数字列?

    我想创建带有连续数字的列pyspark从指定编号开始的数据帧 例如 我想添加列A到我的数据框df这将从5到我的数据帧的长度 增加一 所以5 6 7 length df 一些简单的解决方案使用pyspark方法 您可以使用以下方法执行此操作r
  • 如何从 php API 运行 casperJS 脚本

    我有一个 casperJS 脚本 通过命令行运行时会返回 JSON 我想最好在 PHP 中创建一个 API 它在命令行 casperJS Sample js 中运行脚本并返回 JSON 作为结果 您可以使用php casperjs库是一个简
  • 将双空格替换为单空格

    如何使用 C 将双空格替换为单空格 ex 1 2 3 4 5 gt 1 2 3 4 5 这就是我到目前为止所做的 int tmain int argc TCHAR argv string line ifstream myfile myFil
  • 使用 C# 或经典 ASP (VBScript) 从 PDF 中提取文本的好方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有没有一个好的库可以从 PDF 中提取文本 如果需要的话我愿意付出代价 与 C 或经典 ASP VBScript 一起使用的东西将是理想的 我还需要
  • 如何使用 3d 数组和 2d 数组 numpy 进行掩码

    如何使用 1d 数组从 3d 数组中选择一组元素 These are my 3 data types A numpy ndarray numpy ndarray float B1 numpy ndarray numpy ndarray nu
  • XML DOM 设置文本内容

    我需要将一个大 XML 拆分为许多 child xml 文件 除了更改值之外 我的代码可以正常工作 我需要插入我的字符串Titleproper Bla bla text
  • Python 文本中重复的短语

    我有一个问题 我不知道如何解决它 请给一个建议 我有一条文字 好大好大的文字 任务是找到文本中所有长度为3 包含三个单词 的重复短语 在我看来 你有两个问题 第一个是提出一种标准化输入的有效方法 你说你想找到输入中的所有三词短语 但是短语是
  • preg_match 获取多个

    我有一个类似于 w e 更多 HTML 的页面 我需要获取标签之间的所有数据 而不是第一个数据 目前我使用
  • AWS Athena - 查询分区中不同年份的数据

    我们在 S3 中划分了大型数据集 例如s3 bucket year YYYY month MM day DD file csv 查询 Athena 中不同年份的数据并利用分区的最佳方式是什么 这是我尝试过的2018 03 07 至 2020
  • var_dump(对象)的结果是什么意思?

    var dump object 返回 object 1我真的很想知道 object 1 object 2 和 object 3 之间有什么区别 任何帮助表示赞赏 对于具有相同信息 相同类 相同属性 的对象 它允许确定它们是否是相同的实例 例
  • 如何禁用 Windows 编辑控件上的小触摸键盘

    在支持平板电脑的 Windows 版本中 当编辑控件获得焦点时 会出现一个小键盘图标 如果您触摸它 触摸键盘就会弹出 有办法禁用这个吗 如果你有自己的触摸键盘 那就相当不方便了 我想对代码中的某些编辑控件禁用它 即 我不是在寻找 Windo
  • 如何将 Cython 生成的模块从 python 导入到 C/C++ 主文件? (C/C++ 编程)[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 因此 我有一个用 python 编写的函数 并且按照 Cython 文档 使用 distutils 构建 Cython 模块 中的步骤进行操作 但是 我不清楚如何使用在 python