MATLAB® Version 7.3 (R2006b) добавленная поддержка 64-битной индексации. С 64-битной индексацией можно создать переменные максимум с 248-1 элементом на 64-битных платформах. Перед Версией 7.3 библиотечные функции Ссылки API C/C++ и Фортрана использовали int
на C/C++ и INTEGER*4
на Фортране, чтобы представлять измерения массива. Эти типы ограничивают размер массива к 32-битным целым числам. Просто создание и выполнение файлов MEX на 64-битной платформе не гарантируют вам доступа к дополнительному адресному пространству. Необходимо обновить исходный код MEX, чтобы использовать в своих интересах эту функциональность.
Следующие изменения в Матричном API C поддерживают 64-битную индексацию:
Чтобы помочь перейти ваши файлы MEX к 64-битному API, MATLAB поддерживает интерфейс или compatibility layer. Чтобы создать файлы MEX с этим интерфейсом, используйте флаг -compatibleArrayDims
.
Только переменные, представляющие размер массивов или индексное значение, требуют типы mwIndex
или mwSize
. Язык C тип данных int
допустим для представления переменных, например, количества полей или массивов.