gpt4 book ai didi

c++ - 使用 weave.inline 时出现段错误

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

我不熟悉将 C++ 代码嵌入到 Python 中。我正在测试 weave.inline。但是,在运行我的代码时出现段错误。有人能告诉我我做错了什么吗?这是我的代码:

from scipy import weave

def cpp_call(np_points):

assert(type(np_points) == type(1))

code = """
double z[np_points+1][np_points+1];

for (int x = 0; x <= np_points; x++)
{
for (int y = 0; y <= np_points; y++)
{
z[x][y] = x*y;
}
}
"""

return weave.inline(code,'np_points')

最佳答案

我在这里看到两个问题:

1) 缩进 - 你的 python 函数需要缩进 def

2) 您对 weave.inline() 的参数应该是一个列表。参见 here for details

所以更正后的代码应该是这样的:

from scipy import weave

def cpp_call(np_points):
assert(type(np_points) == type(1))
code = """
double z[np_points+1][np_points+1];

for (int x = 0; x <= np_points; x++)
{
for (int y = 0; y <= np_points; y++)
{
z[x][y] = x*y;
}
}
"""
return weave.inline(code,['np_points']) #Note the very important change here

这段代码对我来说运行良好。

关于c++ - 使用 weave.inline 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14502068/

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