mxArraysБинарные файлы MEX основывались на 64-битных платформах, может обработать 64-битный mxArrays. Эти большие массивы данных могут иметь до 248– 1 элемент. Максимальное количество элементов разреженный mxArray может иметь 248-2.
Используя следующие инструкции создает платформенно независимые бинарные файлы MEX также.
Ваша конфигурация системы может влиять на эффективность MATLAB®. 64-битное требование процессора позволяет вам создать mxArray и данные о доступе в нем. Однако системная память, в частности размер Оперативной и виртуальной памяти, определяет скорость, на которой MATLAB обрабатывает mxArray. Чем больше доступной памяти, тем быстрее обработка.
Сумма RAM также ограничивает объем данных, который можно обработать одновременно в MATLAB. Для руководства на проблемах памяти см. Стратегии Эффективного использования Памяти.
Подписи API-функций, показанных в следующей таблице, используют mwSize или mwIndex типы, чтобы работать с 64-битным mxArray. Переменные, которые вы используете в своем исходном коде, чтобы вызвать эти функции, должны быть правильным типом.
Фортран mxArray Функции Используя mwSize/mwIndex
mxCalcSingleSubscript | mxCreateStructMatrix |
mxCalloc | mxGetCell |
| mxGetDimensions |
| mxGetElementSize |
| mxGetField |
| mxGetFieldByNumber |
| mxGetIr |
| mxGetJc |
| mxGetM |
| mxGetN |
| mxGetNumberOfDimensions |
| mxGetNumberOfElements |
| mxGetNzmax |
| mxGetProperty |
| mxGetString |
| mxMalloc |
| mxRealloc |
| mxSetCell |
| mxSetDimensions |
mxCreateCellArray | mxSetField |
mxCreateCellMatrix | mxSetFieldByNumber |
mxCreateCharArray | mxSetIr |
mxCreateCharMatrixFromStrings | mxSetJc |
mxCreateDoubleMatrix | mxSetM |
mxCreateNumericArray | mxSetN |
mxCreateNumericMatrix | mxSetNzmax |
mxCreateSparse | mxSetProperty |
mxCreateStructArray |
При использовании 64-битного API, mwSize и mwIndex эквивалентны INTEGER*8 на Фортране. Этот тип без знака, в отличие от INTEGER*4, который является типом, используемым в 32-битном API. Бойтесь передавать любые отрицательные величины функциям то взятие mwSize или mwIndex аргументы. Не бросайте отрицательный INTEGER*4 значения к mwSize или mwIndex; возвращенное значение не может быть предсказано. Вместо этого измените свой код, чтобы избегать использования отрицательных величин.
Если вы разрабатываете кросс-платформенные приложения (программы, которые могут работать и на 32-битных и 64-битных архитектурах), обратите внимание на верхний предел значений, для которых вы используете mwSize и mwIndex. 32-битное приложение читает эти значения и присваивает их переменным, объявленным как INTEGER*4 на Фортране. Старайтесь постараться не присваивать большое mwSize или mwIndex значение к INTEGER*4 или другая переменная, которая может слишком быть малой.