gpt4 book ai didi

python - 如何在 Cython 中使用 const

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

我已阅读此链接:https://github.com/cython/cython/wiki/FAQ#id35我的 Cython 0.20.1 应该能够支持 const。

但是我的以下代码无法编译:

cdef const double a = 2.5
print(a)

在编译过程中它说

test.pyx:5:5: Assignment to const 'a'
Traceback (most recent call last):
File "setup1.py", line 11, in <module>
ext_modules = cythonize(extensions)
File "X:\WinPython3\python-3.3.5.amd64\lib\site-packages\Cython\Build\Dependencies.py", line 785, in cythonize
cythonize_one(*args[1:])
File "X:\WinPython3\python-3.3.5.amd64\lib\site-packages\Cython\Build\Dependencies.py", line 902, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: test.pyx

最佳答案

const 适用于函数参数,但不适用于此构造,因为 Cython 将其编译为 C 的方式。

cdef double a = 2.5

成为

double __pyx_v_a;
/* lots of other declarations */

__pyx_v_a = 2.5;

这不适用于 const 变量。实际上,您不能在所有可以在 C 中使用的地方使用 Cython 中的 const

关于python - 如何在 Cython 中使用 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873652/

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