¿Son posiblesmalloc
las cosas en Python?free
import ctypes
pointer = ctypes.malloc(10) # is this possible?
...
ctypes.free(pointer)
Sé que es una idea horrible hacer esto ya que Python se recolecta como basura, pero solo quiero saber si esto es posible.
Sí, puede llamar a cualquier función de C exportada desde una DLL, incluida la DLL de la biblioteca de tiempo de ejecución de C, siempre que aprovisione la función correctamente con .argtypes
y .restype
:
import ctypes as ct
dll = ct.CDLL('msvcrt') # Windows C runtime
# void* malloc(size_t size);
dll.malloc.argtypes = ct.c_size_t,
dll.malloc.restype = ct.c_void_p
# void free(void* ptr);
dll.free.argtypes = ct.c_void_p,
dll.free.restype = None
ptr = dll.malloc(100)
dll.free(ptr)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras