gpt4 book ai didi

python - Cython 是用于构建 C 代码还是用于构建 Python 扩展?

转载 作者:太空狗 更新时间:2023-10-29 20:21:56 24 4
gpt4 key购买 nike

我是 C++/C# 开发人员团队中唯一的 Matlab 用户。我正在过渡到 Python,并希望 Cython 可以帮助我弥合我的工作与同事的工作之间的差距。

我最初认为 Cython 可用于将 Python 代码编译为 C 源文件,然后可以从 Python 导入/调用。我希望从中获得两个好处:

  1. 提高我的程序速度,以及
  2. 一个 C 源文件,可以交给我的同事进行一些轻微 润色,然后最终在他们的 (C++/C#) 包中实现。

不幸的是,后者似乎不是一个选项,但我并不肯定。看起来 C 源文件非常臃肿,有很多对 Python 的引用。我有一个三行的 Python 脚本,它声明一个 cdef char*,分配字符串“hello world!”到那个变量,然后打印它。生成的 C 文件有 2000 行长。

所以,我的问题是,使用 Cython 无法获得好处 #2 吗?用 Cython 生成的 C 代码是仅供 Python 使用,还是有办法去除 Python 的膨胀并获得 Python 代码的简明 C 翻译?

最佳答案

Cython 的输出不适合人类消费

Cython 将 C 视为中间语言,就像 LLVM 将 LLVM IR 视为中间语言一样。 Cython 的目的是生产Python 扩展模块,而C 正是达到此目的最合理的手段。它通常会产生一个曲折的小预处理器指令的迷宫,所有这些都完全不可读。如果您想要可以阅读的 C 代码,则不应使用 Cython。

关于python - Cython 是用于构建 C 代码还是用于构建 Python 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com