ctypes

posix_memalign within python

I cannot seem to figure it out why the following does not work import ctypes from ctypes.util import find_library libc = ctypes.CDLL(find_library('c')) userpointer = ctypes.c_void_p sizeimage = 320*240*2 if libc.posix_memalign(userpointer, libc.getpagesize(), sizeimage) != 0: raise Exception('ENOMEM') I am trying to capture usin...

Passing multiple arguments to C function within Python

Let's say I have a c library that manipulates a world somehow. I want to use this library with python. I want to be able to write simple python scripts that represent different scenarios of world management. I have functions that create and destroy a world: void* create(void); int destroy(void* world); Here is some python code: impor...

Possible to use GCJ to produce library callable from Python ?

Is it possible to compile a library intended for Java with GCJ, get a dll and call from python ctypes? I'm interested in toxilibs for now, but if anybody knows a toy example that would be great ! ...

In Python, how to access a uint16[3] array wrapped by SWIG (i.e. unwrap a PySwigObject)?

Hello all, This is Python question. I have a variable A >>> A <Swig Object of type 'uint16_t *' at 0x8c66fa0> >>> help(A) class PySwigObject(object) Swig object carries a C/C++ instance pointer The instance referred by A is a contiguous array uint16[3] and the problem is to gain access to that array from Python. In Python, how c...

Calling C++ DLLs from Python

I'd like to know if it is possible to use ctypes to access C++ DLLs from Python and run functions (or class methods) from them.If not, is there another way to do this? ...

How do I interact with MATLAB from Python?

A friend asked me about creating a small web interface that accepts some inputs, sends them to MATLAB for number crunching and outputs the results. I'm a Python/Django developer by trade, so I can handle the web interface, but I am clueless when it comes to MATLAB. Specifically: I'd really like to avoid hosting this on a Windows server...

pthread with callback to python VM

Let's say I have a python script which loads a shared library (SL) through ctypes. The SL sets up a pthread T1 The python script configures callbacks through the SL i.e. python script calls functions from the SL with references to python callables Now, let's say T1 calls a "callback" function, are the following assumptions true: ...

ctypes loading a c shared library that has dependencies

On Linux, I have a c shared library that depends on other libs. LD_LIBRARY_PATH is properly set to allow the linker to load all the libraries. When I do: libgidcwf = ctypes.cdll.LoadLibrary(libidcwf_path) I get the following error: Traceback (most recent call last): File "libwfm_test.py", line 12, in <module> libgidcwf = ...

How to convert ctypes' c_long to Python's int?

int(c_long(1)) doesn't work. ...

Error loading dll in path with parenthesis using ctypes (python)

Hello all! I am trying to access a dll located in the "c:/Program Files (x86)" folder in a 64-bits processor PC. If I use os.path.exists to check if the dll exists, I receive an afirmative answer: >>> print os.path.exists('c:/Program Files (x86)/Some Folder/SomeDll.dll') True But when I try to load the dll using ctypes, I get the fo...

Python objects as userdata in ctypes callback functions

The C function myfunc operates on a larger chunk of data. The results are returned in chunks to a callback function: int myfunc(const char *data, int (*callback)(char *result, void *userdata), void *userdata); Using ctypes, it's no big deal to call myfunc from Python code, and to have the results being returned to a Python callback fu...

ctypes buffer modification

Hi, I need to call a c library from my python code. The c library does a lot of image manipulation, so I am passing it image buffers allocated using create_string_buffer. The problem is that I also need to manipulate and change these buffers. What is the best way to reach in and twiddle individual values in my buffers? The buffers a...

ctypes and pointer manipulation

I am dealing with image buffers, and I want to be able to access data a few lines into my image for analysis with a c library. I have created my 8-bit pixel buffer in Python using create_string_buffer. Is there a way to get a pointer to a location within that buffer without re-creating a new buffer? My goal is to analyze and change da...

Python Ctypes Read/WriteProcessMemory() - Error 5/998 Help!

Please don't get scared but the following code, if you are familiar with ctypes or C it should be easy to read. I have been trying to get my ReadProcessMemory() and WriteProcessMemory() functions to be working for so long and have tried almost every possibility but the right one. It launches the target program, returns its PID and hand...

Python c_types .dll functions (pari library)

Alright, so a couple days ago I decided to try and write a primitive wrapper for the PARI library. Ever since then I've been playing with ctypes library in loading the dll and accessing the functions contained using code similar to the following: from ctypes import * libcyg=CDLL("<path/cygwin1.dll") #It needs cygwin to be loaded. Not su...

Python ctypes and synamic linking

OK, I've beaten my head against this problem for a while now, it's time to ask for help. I'm writing some libraries in C, for to be called from Python via ctypes. I've done this sucessfully with one library, but this library only very vanilla dependancy, namely (fstream, math, malloc, stdio, stdlib). Now the other library I'm working ...

Python3k ctypes printf

printf returns 1 instead of Hello World! which is the desired result. I googled it and think its because of the changes in the way sequences are treated. How do i modify the code to print "Hello World!"? www.mail-archive.com/[email protected]/msg15119.html import ctypes msvcrt=ctypes.cdll.msvcrt string=b"Hello World!" msvcrt.prin...

I need to speed up a function. Should I use cython, ctypes, or something else?

I'm having a lot of fun learning Python by writing a genetic programming type of application. I've had some great advice from Torsten Marek, Paul Hankin and Alex Martelli on this site. The program has 4 main functions: generate (randomly) an expression tree. evaluate the fitness of the tree crossbreed mutate As all of generate, cr...

How to create a CFuncType in Python

I need to pass a callback function that is CFuncType (ctypes.CFUNCTYPE or ctypes.PYFUNCTYPE...). How can I cast a python function to CFuncType or how can I create a CFuncType function in python. ...

Creating a structure from bytes with ctypes and IronPython

I have the following CPython code which I now try to run in IronPython: import ctypes class BarHeader(ctypes.Structure): _fields_ = [ ("id", ctypes.c_char * 4), ("version", ctypes.c_uint32)] bar_file = open("data.bar", "rb") header_raw = bar_file.read(ctypes.sizeof(BarHeader)) header = BarHeader.from_buffer_copy(he...