Я хотел бы передать в качестве аргумента функции в моем модуле C массив uint8_t.Как работать с uint8_t на расширении Python?
Я не мог найти метод для непосредственного анализа этого массива, поэтому я разбираю его в PyObject_t и затем повторяю как объект PyTuple_t. Таким образом, мне нужно передать каждый элемент PyObject_t этого кортежа в uint8_t.
Как это сделать, если нет функции PyInt_FromUINT8_t или что-то в этом роде?
Я работаю с массивами. в этом случае перебрать PyTuple или PyList использованием Pyin t_FromLong не приведет к недопустимому доступу к памяти? Эта функция попытается прочитать 4 или 8 байт, но каждый элемент списка имеет только 1 байт. –
Ни одна из функций 'PyXXX' не использует указатели для целых чисел, а просто возвращает их по значению; поэтому 'PyInt_FromLong', например, примет аргумент' int', и он будет подвержен нормальным преобразованиям типов и целым силам. Можете ли вы объяснить немного больше, что вы пытаетесь сделать? –
Я обновил вопрос. Проверьте, ясно ли это сейчас. –