how to export functions by name for ctype

Nick Craig-Wood nick at craig-wood.com
Mon Jun 23 05:32:05 EDT 2008


rych <rychphd at gmail.com> wrote:
>  I'm on Windows with VS2005 testing ctypes on a very simple dll
>  I create a test.dll project which exports a function fntest(). I don't
>  touch anything in the autogenerated source and build it. I can load
>  the dll but can't access the function by its name fntest. Only by
>  ordinal number or calling getattr with "?fntest@@YAHXZ". How do I
>  export functions by name? It's probably rather a VS2005 question, but
>  I'm a bit disappointed ctypes doesn't work with a default export
>  convention.

I guess you've compiled your DLL with C++ and the above is a C++
mangled name.

Either compile it with C, or export the names in an extern "C" { }
block.


-- 
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick



More information about the Python-list mailing list