[Numpy-discussion] Compile extension modules with Visual Studio 2005
Robert Kern
robert.kern@gmail....
Tue Jul 24 13:55:16 CDT 2007
Geoffrey Zhu wrote:
> Hi,
>
> I am about to write a C extension module. C functions in the module will
> take and return numpy arrays. I found a tutorial online, but I am not
> sure about the following:
>
> 1. Can I compile my extension with Visual Studio 2005? My impression is
> that I will have to link with numpy libraries, and, if numpy was
> compiled with a different compiler, I might have problems. However, if
> numpy is a DLL, maybe there is a way that I can build a LIB file based
> on the DLL and link with the LIB file. Does anyone have experience in
> doing this?
numpy isn't the issue. The main Windows Python distribution requires Visual
Studio 2003 for building extensions. One can do it with mingw, though, with care.
> 2. I am new to writing python extensions. The tutorial is doing things
> by hand. Does anyone know what is the best way to do this? How about SWIG?
There isn't a single best way. They all have tradeoffs. It might be easiest for
you to actually just write your C functions into a DLL without referencing numpy
or Python at all and call those functions using ctypes. That avoids needing a
specific compiler and is a pretty handy tool to learn.
If you do want to write an extension, I think I might suggest starting with
writing one by hand. It helps with the other techniques to know what's going on
underneath.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion
mailing list