On Thu, 2012-12-20 at 21:05 +0100, Sturla Molden wrote:
On 20.12.2012 20:57, Sturla Molden wrote:
On 20.12.2012 20:52, Henry Gomersall wrote:
Perhaps the DLL should go and read MS's edicts!
Do you link with same same CRT as Python? (msvcr90.dll)
You should always use -lmsvcr90.
If you don't, you will link with msvcrt.dll.
Here is VS2008, which uses malloc from msvcr90.dll:
http://msdn.microsoft.com/en-us/library/ycsb6wwf(v=vs.90).aspx
"malloc is required to return memory on a 16-byte boundary"
If this does not happen, you are linking with the wrong CRT. When building C extensions for Python, we should always link with the same CRT as Python uses, unless you are 100% certain that CRT resources are never shared with Python.
Is this something that can be established when using Cython? I haven't experienced any problems so far (other than a now solved problem trying to free memory allocated in FFTW which was down to a runtime mismatch). Cheers, Henry