El 28/09/10 14:41, lasizoillo escribió:
Hola Javi,
He estado Googleando pero no encuentro forma de trabajar directamente con la
memoria, ni equivalentes a malloc/free, etc. ¿Existe alguna forma de hacer
un malloc() desde Python, y en caso de no existir se os ocurre alguna forma
de determinar la memoria máxima que podría asignar un script en Python?
muchas gracias!
Cuando quieras usar funciones de c puedes hacerlo sin complicarte
demasiado mediante ctypes:
http://docs.python.org/library/ctypes.html
Con ctypes he conseguido justo lo que estaba buscando, muchas gracias!!
Tan solo un detalle, el script funciona correctamente cuando se ejecuta
en máquinas de 32-bits, pero en 64-bits genera un SegFault al hacer el
primer free(), ¿A alguien se le ocurre que puede estar pasando o como
podría hacer debug? strace no está aportando mucha información:
(..)
write(1, "1 MB\n", 51 MB) = 5
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
El script está disponible en:
http://pastebin.com/nTHBrU7Z
Como decía, malloc() está funcionando correctamente en las 2
arquitecturas, pero free() falla en x86_64 con un 'Violación de
segmento', gracias!!
Saludos,
--
Santi Saez
http://woop.es
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/