lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


This would really break you, when you happen to malloc() from function in one runtime, and free() in another.

Or fopen() from one and, fclose() from another.
Or just _open(), and _close()

On 8/26/2011 3:54 PM, Ross Berteig wrote:
At 03:15 PM 8/26/2011, you wrote:
I built LuaJIT under mingw
( and then
put in LuaSocket (the binary from

That combination uses a different versions of the C runtime library.
LuaJIT will be linked against MSVCRT.DLL from VC6.0, and luasocket
against MSVCR80.DLL from VC8.0. Mixing C runtime DLLs is technically
possible, but an easy pathway to madness.

A simple answer that always works is that you need to use the same C
runtime for the EXE and every DLL, and there should be only one instance
of the C runtime which in practice means it is dynamically linked, not
statically linked to any component.

Ross Berteig
Cheshire Engineering Corp.