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
флаг.
Только переменные, представляющие размер массивов или значение индекса, требуют mwSize
или mwIndex
типы. Язык C int
тип данных допустим для представления переменных, например, количества полей или массивов.