( tr3w | 2012. 05. 16., sze – 18:08 )

Alapvetően két lehetőséged van:
Az első amivel ha jól látom most próbálkozol, a ctypes-os megoldás. Most hirtelen elolvasva a dokumentációt én sem látom, hogy tudnád megoldani ezzel.

A második lehetőség valamilyen wrapper írása.
Ezen belül viszont megint két lehetőséged van:
1) Írsz egy ctype barát wrappert C-ben és küzdesz azzal
2) Írsz egy rendes Python modult.

Az első egy kicsit csúnya, és nem biztos hogy gyors megoldáshoz vezet.

A 2) esetében megint egy rakás választásod van:
a) Megírod a wrapper modult C-ben ahogy írva vagyon itt.
b) Megírod a wrapper modult C++-ban ahogy írva vagyon itt. (Boost python)
c) Generálod a wrappert ahogy írva vagyon itt. (SWIG)
d) Megírod a wrapper modult python+C-ben ahogy írva vagyon itt. (Cython/Pyrex)

Az a) nekem macerásnak tűnik, ha nem csináltál még ilyet.
A b) igen egyszerű és gyors megoldás, ha van C++ gyakorlatod és a Boost kéznél van. (Egyéb esetben nem ajánlom, hogy belekezdj.)
A c)-ről nincs személyes tapasztalatom, de egyrészt ágyúval verébre, másrészt nem az egyszerűségéről híres
A d)-vel van tapasztalatom, bár nem erre használtam, csak optimalizációra. Arra nagyon kényelmes volt, gyanítom ez sem okozhat vele problémát.

Én személy szerint a b) és d) közül választanék attól függően, hogy mennyire komplex wrappert akarok használni.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o