gpt4 book ai didi

python - 如何在Python中获取C数组

转载 作者:行者123 更新时间:2023-11-30 16:40:18 26 4
gpt4 key购买 nike

我有一个 C 函数:

void func(int n, int m)
{
int Array[n][m];
make_magic(Array);
}

生成二维数组并对其进行处理。我在 python3.5 中使用这个函数和 ctypes,如下所示:

from ctypes import *

magic = CDLL('lib_name')
magic.func(n,m)

那么如何在 python 中获取这个二维数组呢?

最佳答案

您想在 Python 中使用生成的数组,对吧?

采用 C 代码通过接收到的指针“返回”数组。

void func(int n, int m, int *Array)
{
Array[0][0] = 42; // fill array accordingly
make_magic(Array);
}

通过 NumPy 初始化数组,通过您的函数创建和处理它,并使用 NumPy 对其进行后处理:

from ctypes import *
import numpy
n, m = 5, 10
array = numpy.zeros((n,m), dtype=numpy.int)
magic = CDLL('lib_name')
magic.func(n,m, array.ctypes.data)

关于python - 如何在Python中获取C数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731082/

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