Ich schrieb Code, um einen (potentiell) sehr großen Integer-Wert in ein Array von chars
zu speichern, auf das von einem Zeiger verwiesen wird. Mein Code sieht wie folgt aus:Zeiger und "Speichern unsichere C-Ableitung der temporären Python-Referenz"
cdef class Variable:
cdef unsigned int Length
cdef char * Array
def __cinit__(self, var, length):
self.Length = length
self.Array = <char *>malloc(self.Length * sizeof(char)) # Error
for i in range(self.Length):
self.Array[i] = <char>(var >> (8 * i))
def __dealloc__(self):
self.Array = NULL
Wenn ich den Code versucht, kompilieren, ich die Fehlermeldung anzeigt, „Speichern von unsicheren C-Derivat von temporären Python Referenz“ an der Kommentarzeile. Meine Frage ist: Welche temporäre Python-Referenz erhalte ich in C und speichere sie und wie behebe ich sie?