You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下如何从Cython的.pyx文件生成.cpp文件而非.c文件

解决Cython生成.cpp文件的问题

作为Cython新手,你遇到的是默认行为的问题——Cython默认会生成C代码,要生成C++代码需要显式指定参数。在Linux环境下,你有两种简单的方式实现:

方法一:直接使用命令行参数

在终端里执行cython命令时,加上--cplus(或者短格式-+)选项,就能强制生成C++文件:

# 长格式参数
cython --cplus project_file.pyx

# 短格式参数,更简洁
cython -+ project_file.pyx

执行完这条命令后,你就能在当前目录下看到生成的project_file.cpp文件了。

方法二:通过setup.py配置(适合项目构建)

如果你的项目需要后续编译成Python扩展模块,推荐用setup.py的方式,在配置里指定C++语言:

from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules=cythonize("project_file.pyx", language="c++")
)

然后在终端运行:

python setup.py build_ext --inplace

这个命令不仅会生成project_file.cpp,还会自动编译成对应的.so扩展模块,方便你直接在Python中导入使用。

额外提一句:启用C支持后,Cython会生成符合C规范的代码,比如会处理C的命名空间、支持C类型的交互等,如果你后续要和C++代码交互,这个设置是必需的。

内容的提问来源于stack exchange,提问作者Stacey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:27:28