Articles of ctypes

¿Devuelve C ++ doble a Python?

Así que estoy usando python para llamar a métodos en una biblioteca compartida de C ++. Estoy teniendo un problema al devolver un doble de C ++ a python. He creado un ejemplo de juguete que muestra el problema. Siéntase libre de comstackr y probarlo. Aquí está el código de python (soexample.py): # Python imports […]

Python ctypes llamando a reboot () desde libc en Linux

Estoy intentando llamar a la función de reboot desde libc en Python a través de ctypes y simplemente no puedo hacer que funcione. He estado haciendo referencia a la página de man 2 reboot ( http://linux.die.net/man/2/reboot ). La versión de mi kernel es 2.6.35. A continuación se muestra el registro de la consola del indicador […]

¿Cómo declaro correctamente un ctype Structure + Union en Python?

Estoy perdiendo el tiempo haciendo un analizador de datos binarios, y aunque podría recurrir a C, quería ver si podía usar Python para la tarea. Tengo algunos indicios de cómo hacer que esto funcione, y mi implementación actual se parece a esto: from ctypes import * class sHeader(Structure): _fields_ = [(“CC”, c_uint8, 4), (“AFC”, c_uint8, […]

conversión en una cadena Python desde un char devuelto por un DLL

Estoy intentando convertir un puntero de cadena const char [] de estilo C (devuelto desde una DLL) en un tipo de cadena compatible con Python. pero cuando Python27 se ejecuta: import ctypes charPtr = ctypes.cast( “HiThere”, ctypes.c_char_p ) print( “charPtr = “, charPtr ) obtenemos: charPtr = c_char_p(‘HiThere’) Quizás algo es no estar evaluando adecuadamente. […]

extensión ctypes vs c

Tengo algunas funciones escritas en C para un proyecto de juego. Estas funciones se llaman bastante (alrededor de 2000-4000 veces por segundo). Las funciones están escritas en C para velocidad bruta. Ahora, la forma más fácil para que yo incluya estas funciones en Python es usar ctypes . La alternativa es escribir una extensión C […]

La mejor manera de crear una clase ‘genérica’ heredando clases de módulos externos

En el módulo ctypes , los tipos c_* subyacentes realizan el truncamiento del estilo C sin generar excepciones. Por ejemplo, c_uint8(0x120) es lo mismo que c_uint8(0x20) , que es lo mismo que c_uint8(32) . Estoy buscando crear clases que hereden los tipos de ctypes que generarán una excepción personalizada si un tipo está fuera de […]

Cómo exportar una matriz de C a Python

Tengo un archivo.cc que contiene una matriz de valores de dobles, como se ve aquí: double values[][4] = { { 0.1234, +0.5678, 0.1222, 0.9683 }, { 0.1631, +0.4678, 0.2122, 0.6643 }, { 0.1332, +0.5678, 0.1322, 0.1683 }, { 0.1636, +0.7678, 0.7122, 0.6283 } … continue } ¿Cómo puedo exportar estos valores a una lista de […]

Python: la forma más rápida de tomar y guardar capturas de pantalla

He estado luchando para encontrar un script que me permita tomar capturas de pantalla de mi escritorio más de una vez por segundo. Estoy usando Win10. PIL: from PIL import ImageGrab import time while True: im = ImageGrab.grab() fname = “dropfolder/%s.png” %int(time.time()) im.save(fname,’PNG’) Resultados 1.01 segundos por imagen. PyScreeze ( https://github.com/asweigart/pyscreeze ): import pyscreeze import […]

(ctypes) msvcrt.printf e imprima en python

Estaba aprendiendo un poco sobre el uso de la función printf usando msvcrt.dll, ctypes en python 2.7. Observé que cuando se usa la función msvcrt.printf (“x”) y la función de impresión (“y”) típica de python, “y” se imprime antes de “x” aunque la statement de impresión (“y”) se coloca después de msvcret.printf ( “X”) . […]

Python: ctypes hashable c_char reemplazo de matriz sin tropezar con ‘\ 0’ bytes

Con fines ilustrativos, esta secuencia de comandos crea un archivo de mapfile contiene el contenido de los archivos, presentados como argumentos, precedidos por un encabezado binario con una sum de comprobación sha1, que permite la detección de duplicación en ejecuciones posteriores. Lo que se necesita aquí es un reemplazo de hashable ctypes.c_char , que pueda […]