gpt4 book ai didi

python - 使用 C++ 和 Python 访问数组

转载 作者:搜寻专家 更新时间:2023-10-31 01:04:37 24 4
gpt4 key购买 nike

我正在模拟一个由大约 100,000 颗恒星组成的迷你星系。我想在 Python 中进行可视化表示,在 C++ 中进行大量计算。使用 ctypes,我能够从 Python 调用 C++ 函数。

我基本上想要的是一个存在于 RAM 中的数组,它可以被 python 和 C++ 访问。然后在 python 中调用函数 update() 时,C++ 更新数组。重要的是,C++ 实际上只更改数组中的值。一直复制它会变得非常耗时。

我是一个初学者,尤其是在 C++ 方面,所以我真的不知道在哪里可以找到正确的信息,以及使用什么关键字。关于如何做到这一点的想法当然是受欢迎的,但是一些信息链接也将不胜感激。

最好的,

最佳答案

您可以使用 python C/C++ API 构建 C++ python 包装器模块:

https://docs.python.org/2/extending/extending.html

我会创建一个 C++ 模块 (dataUpdater) 使用 python API 提供服务,让我们调用它,update 它应该接收你想要加载数据的 Python 对象.

在您的 Python 端,每当我想从 C++ 加载数据时,我都会调用 dataUpdater.update

编辑:

另一种选择是让您的 C++ 模块表现得像一个提供数据访问服务的数据结构,例如:

  • getValueAt(索引)
  • setValueAt(index)
  • getSize()

并在 python 端使用它:

for i in xrange(dataUpdater.getSize()):
val = dataUpdater.getValueAt(i)
...

关于python - 使用 C++ 和 Python 访问数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604323/

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