swig or ctypes , under the gun and need help

norseman norseman at hughes.net
Tue Aug 26 13:43:04 EDT 2008


Diez B. Roggisch wrote:
> Sells, Fred schrieb:
>> Diez wrote...
>>> I don't know swig, but if all you have is a real C-API, try & use 
>>> ctypes.
>>> It's much easier to create bindings for, keeps you fully in the warm and
>>> cozy womb of python programming and doesn't need no compilation to 
>>> create
>>> the actual binding.
>>>
>> You're right the ctypes does seem more pythonesque; however I'm still 
>> stuck trying return all these parameters
>> that the c api uses.  my ctypes code is below.  It just quits running 
>> when I try to print one of the args I did a pass byref on, no error 
>> out, nothing.  admittedly I'm a newbie to ctypes and not much of a c 
>> programmer
>> but I could sure use some help.  my ctypes test code follows...
>>
>> from ctypes import *
>>
>> '''
>> create shared object file like so.
>> gcc -shared -o rug520.so  rug520.c
> 
> You need to create a proper library. The above doesn't do that - it 
> creates as simple object file.
> 
> I don't know how to really do that without using autoconf/automake.
> 
> Diez
> -- 
> http://mail.python.org/mailman/listinfo/python-list
> 

==
see info gcc
search shared  (3.13 Options for Linking)

mkso.scr:
#!/bin/bash
# create a lib.so from param 1 filename
#
#vi $1
f=`basename $1 .c`
gcc -c -fPIC $f
ld  -shared -fPIC $f.o -o $f.so
#                              end of file


I suppose $1 could be `cat *.c`
Haven't tried that, but....  Who knows?
(I write my libs to be libs.)

Steve
norseman at hughes.net



More information about the Python-list mailing list