On 10/06/2006 8:32 AM, Redefined Horizons wrote: > I still new to Python, and I've only dabbled in C, but I've got my > first project I need to tackle that involves both languages. I was > hoping to get some advice on how to proceed. > > There is a third-party application that I need to work with. It is > closed-source, but it exposes a C API. I want to wrap this C API so > that it is available from Python. I have no ability to modify the C > API of the third part application. > > Do I the C functions that I wrap in an extensions module for Python > need to be in a certian format?
No. > If so, I will have to write an > intermediate DLL in C that wraps the third-party application and > exports the functions in a form that Python can use. No way. You need only *one* layer of glue. > > Or can an extension module for Python wrap any C function? I've never heard of a C function that couldn't be wrapped. If there were such a function, having more C code in a separate DLL wouldn't make it wrappable. > If this is > the case I think I can skip the intermediate C DLL. I think so too. > > Are there any advantages to using the intermediate DLL written in C in > this particular case where I will not have ability to manipulate the C > API of the third party application directly? (For example, if the > third-party application developers are willing to call a "call-back" > function that must be written in C, but not Python. No advantages that I can see. Your C call-back function could then call a Python function if you really wanted to -- the 3rd-party devs don't need to know :-) > Could the same > extension module export both C functions and serve as a Python > module?) Yes. Cheers, John -- http://mail.python.org/mailman/listinfo/python-list