C++ and Python
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Fri Mar 9 16:13:43 EST 2007
En Fri, 09 Mar 2007 05:28:54 -0300, hg <hg at nospam.org> escribió:
> Mandus wrote:
>> 8 Mar 2007 22:04:48 -0800 skrev bressert at gmail.com:
>>> I'm considering about generating some Python Bindings for C++
>>> libraries. What are considered the best tools for doing something like
>>> this? I know that there are SWIG, SIP, Boost.Python, and GCC_XML.
>>
>> We are doing this quite extensively at work, and have found that in the
>> long run SWIG is the best solution. OMMV, but if you ask me, the answer
>> is SWIG.
>
> Why do you think it is better than ctypes ?
I won't say SWIG is better than anything, but how would you use ctypes to
create an instance of a class with several levels of inheritance, and then
invoke a virtual method?
You have to mangle all the names (not too bad, can be done in Python
following the rules) but you also need to find the right function pointer
in the virtual method table; and that can't be done without processing the
source code (at least the .h) in order to know the layout and ordering of
the methods.
Let alone inline functions, templates and #define macros.
--
Gabriel Genellina
More information about the Python-list
mailing list