Ich möchte als Argument einer Funktion in meinem C-Modul ein Array von uint8_t übergeben.Wie behandelt man uint8_t auf einer Python-Erweiterung?
Ich konnte keine Methode finden, dieses Array direkt zu analysieren, also analysiere ich es zu einem PyObject_t und dann als ein PyTuple_t-Objekt. Auf diese Weise muss ich jedes Element PyObject_t dieses Tupels zu uint8_t umwandeln.
Wie kann ich das tun, sobald es keine PyInt_FromUINT8_t Funktion oder etwas ähnliches gibt?
ich arbeite mit Arrays. In diesem Fall können eine PyTuple iterieren oder PyList PYIN mit t_FromLong wird keinen ungültigen Speicherzugriff verursachen? Diese Funktion versucht, 4 oder 8 Bytes zu lesen, aber jedem Element der Liste ist nur 1 Byte zugewiesen. –
Keine der 'PyXXX'-Funktionen verwendet Zeiger auf ganze Zahlen, sondern gibt sie einfach als Wert zurück; So akzeptiert beispielsweise 'PyInt_FromLong' ein' int' als Argument und unterliegt normalen Typumwandlungen und ganzzahligen Koerzitien. Kannst du etwas mehr erklären, was du versuchst? –
Ich habe die Frage aktualisiert. Überprüfen Sie, ob es jetzt klar ist. –