MATLAB: Mex file crash on Windows 64bit environment

crash 64 bit windowsmex file

Hi,
I am developing a piece of code inside a mex function. I output interface is something like this
Output = mxCreateNumericMatrix(SIZE, 1,mxLOGICAL_CLASS,mxREAL);
dec = (bool*)mxGetData(Output);
After this, i dynamically allocate memory to an other entity
if (( Table =
(uint16_t*)mxMalloc(sizeof(uint16_t) * SIZE)) == NULL)
{
}
Now, When i print the address's of Table and also dec, i find that they overlap.
Any idea on what could be happening? Is this an issue with windows 64 bit environment?.
At the end, while freeing the Table pointer there is a crash.
but the same code works fine on 32bit machine.
Thanks, Kishore.

Best Answer

Which compiler are you using?
On some compilers, bool can be 4 bytes rather than 1 byte. See for example http://msdn.microsoft.com/en-us/library/tf4dy80a.aspx
I also find record of a compiler for which bool was 8 bytes.
Related Question