相关疑难解决方法(0)

Numpy C API:链接多个目标文件

我正在使用numpy的C API来编写一些用于矩阵计算的函数.今天我想将我的函数的某些部分移动到一个单独的.c文件中,并使用标题来声明它们.现在我有一个与numpy import_array函数有关的奇怪问题.我试图尽可能地简化问题.起初有工作计划:

mytest.c

#include "mytest.h"

PyObject* my_sub_function() {
    npy_intp dims[2] = {2, 2};
    double data[] = {0.1, 0.2, 0.3, 0.4};

    PyArrayObject* matrix = (PyArrayObject*)PyArray_SimpleNew(2, dims, NPY_FLOAT64);
    memcpy(PyArray_DATA(matrix), data, sizeof(double) * dims[0] * dims[1]);

    return (PyObject*)matrix;
}

static PyObject* my_test_function(PyObject* self, PyObject* args) {
    return my_sub_function();
}

static PyMethodDef methods[] = {
    {"my_test_function", my_test_function, METH_VARARGS, ""},
    {0, 0, 0, 0}
};

static struct PyModuleDef module = {
    PyModuleDef_HEAD_INIT, "mytest", 0, -1, methods
};

PyMODINIT_FUNC PyInit_mytest() {
    import_array();
    return PyModule_Create(&module); …
Run Code Online (Sandbox Code Playgroud)

c python api gcc numpy

8
推荐指数
1
解决办法
2450
查看次数

标签 统计

api ×1

c ×1

gcc ×1

numpy ×1

python ×1