Skip to Main Content Skip to Search
Product Documentation

Addressing mwArrays Above the 2 GB Limit

In R2007b, you had to define MX_COMPAT_32_OFF in the mbuild step to address MWArrays above the 2 GB limit on 64-bit architectures. If you did not define MX_COMPAT_32_OFF, the compile time variable MX_COMPAT_32 was defined for you, limiting you to using smaller arrays on all architectures.

In R2008a, the default definition of MX_COMPAT_32 was removed, and large array support is now the default for both C and C++ code. This default may, in some cases, cause compiler warnings and errors. You can define MX_COMPAT_32 in your mbuild step to return to the previously default behavior.

Code compiled with MX_COMPAT_32 is not 64-bit aware. In addition, MX_COMPAT_32 controls the behavior of some type definitions. For instance, when MX_COMPAT_32 is defined, mwSize and mwIndex are defined to ints. When MX_COMPAT_32 is not defined, mwSize and mwIndex are defined to size_t. This can lead to compiler warnings and errors with respect to signed and unsigned mismatches.

In R2008b, all support for MX_COMPAT_32 was removed.

See C++ Utility Library Reference, for detailed changes to mwArray classes and method signatures.

  


Free MATLAB Compiler Interactive Kit

Learn how to build standalone executables and C/C++ shared libraries from MATLAB code.


Get free kit

Trials Available

Try the latest version of MATLAB Compiler.


Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS