[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Lua and custom memory allocators
- From: Matthew Paul Del Buono <delbu9c1@...>
- Date: Wed, 30 Apr 2008 09:47:42 -0400 (EDT)
> "/Ox /Oi /Ot /Oy /I "C:\Users\Alex\Documents\Visual
> Studio 2008\Projects\Lua\src" /D
> "_CRT_SECURE_NO_WARNINGS" /D "_UNICODE" /D "UNICODE"
> /FD /EHsc /MD /Gy /Yu"stdafx.h" /Fp"x64\Release\Lua
> Standalone.pch" /Fo"x64\Release\\"
> /Fd"x64\Release\vc90.pdb" /W3 /nologo /c /Zi /TP
Are you running the compiler command yourself or are you having Visual Studio do it? VS has a tendency to do a few extra things, though I notice that in your compiler line it says "release" which implies to me you're compiling in release mode rather than debug.
In debug mode, Visual Studio does a lot of interesting things such as initializing memory to a default value when allocated (to allow it to determine if you are using it before it has been initialized), allocating an extra byte or more before and after and filling it with a known value (to determine if you have gone out of the bounds of an array), and checking the heap after every allocation (to look for memory corruption and leaks). In release mode, this shouldn't happen, but it's possible that one of the project configuration options was copied over.
In Visual Studio's project options, you should have an option for "run-time buffer security checks" or something along those lines (unfortunately I'm not on my computer with VS at the moment so I can't verify the name). This should be on by default in both debug and release. What happens if you turn it off?
-- Matthew P. Del Buono