我可以用Cython创建静态C数组吗?

16 投票
1 回答
4781 浏览
提问于 2025-04-17 07:22

我想在Cython中做到这一点:

cdef int shiftIndexes[] = [1,-1, 0, 2,-1, -1, 4, 0, -1, 8, 1, -1, 16, 1, 0, 32, 1, 1, 64, 0, 1, 128, -1, 1]

我看到一些关于固定错误报告和旧邮件列表的提及,说Cython中有静态数组的功能,但我找不到任何例子,而这个特定的例子让我遇到了语法错误:在C变量声明中出现语法错误

在Cython中可以创建静态C数组吗?

1 个回答

29

使用指针表示法来代替:

cdef int *shiftIndexes = [1,-1, 0, 2,-1, -1, 4, 0, -1, 8, 1, -1, 16, 1, 0, 32, 1, 1, 64, 0, 1, 128, -1, 1]

这样做就能顺利运行了。

撰写回答