Каков наилучший способ передать массив от python до C? - PullRequest
1 голос
/ 05 марта 2020

Я написал приложение C, которое использует некоторый код python, заключенный в cython, чтобы упростить некоторые вещи.
Что я хочу сделать, это вернуть массив из функции python, вызываемой в C.

main. c

PyImport_AppendInittab("wrapper", PyInit_libwrapper);
Py_Initialize();
PyObject *module = PyImport_ImportModule("wrapper");

char *names[] = get_names();

Py_Finalize();

wrapper.pyx

cdef public void get_names():
    names = []
    names.append('ABCD')
    names.append('1234')
    names.append('abcd')

    return names
    return names_size


Можно ли в этом случае вернуть массив chars*?
Для обработки массива в C мне также нужно иметь его размер, но я не могу передать int size по ссылке.
Какой лучший способ справиться с этим?

...