Dlls

Steve Holden steve at holdenweb.com
Sun Feb 18 09:55:15 EST 2007


Jason Ward wrote:
> Hi. I am interested to know why python can't access DLL files directly.
> It seems to me that because python can't access DLL's directly we have to
> waste our time and write wrappers around libraries that have already 
> been written.
>  
> So if the python developers were to implement say this.
>  
> import MYDLL.dll
>  
> Then we would be able to do everything with that library that we can do 
> in other languages.
>  
> For eg. I want to use PyOpenGL. But the problem is the library hasn't 
> got all the opengl functions implemented.
> So I can either develop quickly with an incomplete library or develop 
> slowly in assembler.
> I mean really, in asm we just call the dll function directly.
>  
> Why must python be different?
> 
That's a bit like asking why you can't put the engine from a BMW into an 
Audi. The answer is, of course, that you can - it just required a lot of 
work to adapt the engine to a foreign environment.

You might be interested in the ctypes module - see

   http://docs.python.org/lib/module-ctypes.html

That does more or less what you are asking for, but you can't expect to 
be able to call arbitrary functions written in one language from another 
- there's just too much variability in the way that data are represented 
in different languages.

There are, of course, systems like mono (.NET) that provide compilers 
for multiple languages with the specific goal of interoperability, but 
in general there will be an "impedance mismatch" that you will need to 
code around.

regards
  Steve
-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC/Ltd          http://www.holdenweb.com
Skype: holdenweb     http://del.icio.us/steve.holden
Blog of Note:          http://holdenweb.blogspot.com
See you at PyCon?         http://us.pycon.org/TX2007




More information about the Python-list mailing list