Если вы не обновляете свой исходный код MEX, можно все еще создать файлы MEX с помощью опции -compatibleArrayDims
. Используйте этот флаг, чтобы гарантировать желаемое поведение через версии MATLAB®. Если вы создаете без флага -compatibleArrayDims
, то один или несколько из следующего мог произойти:
Увеличенные предупреждения компилятора и/или ошибки из вашего нативного компилятора
Ошибки времени выполнения
Неправильные ответы
Можно запустить существующие бинарные файлы MEX, не обновляя файлы для использования с 64-битным API. Однако несовместимости могут предотвратить выполнение существующего файла MEX. Если ваш файл MEX не выполняется правильно, поиск mex
в соответствующей информации о релизах MATLAB и рассматривает темы Вопросов совместимости.
Если вы создаете файлы MEX на 64-битных платформах или пишете платформенно независимые приложения, необходимо обновить файлы MEX. Чтобы обновить, рассмотрите свой исходный код, внесите соответствующие изменения и восстановите использование команды mex
.
Какие меры, которые вы принимаете теперь, зависят от того, используют ли ваши файлы MEX в настоящее время 64-битный API. Следующая таблица помогает вам идентифицировать свои следующие действия.
Состояние вашего исходного кода | Следующее действие |
---|---|
Я не планирую обновить свой код. | Вы приняли решение отказаться, и необходимо создать использование флага |
Я хочу обновить свой код. Где я запускаю? | Смотрите файлы MEX обновления, чтобы использовать 64-битный API. |
Я использую файлы MEX, но не имею доступа к исходному коду. | Попросите, чтобы владелец исходного кода выполнил шаги в файлах MEX Обновления, чтобы Использовать 64-битный API. |
Я пользуюсь сторонними библиотеками. | Спросите поставщика, если библиотеки поддерживают 64-битную индексацию. В противном случае вы не можете пользоваться этими библиотеками, чтобы создать 64-битные файлы MEX. Создайте свой файл MEX с помощью флага Если библиотеки поддерживают 64-битную индексацию, рассматривают ваш исходный код, выполняя шаги в файлах MEX Обновления, чтобы Использовать 64-битный API, и затем протестировать. |
Я обновил свой код в предыдущем релизе. | Никакое изменение не требуется. Однако вы больше не должны использовать опцию |
Мой файл MEX генерирует ошибки. | Необходимо перекомпилировать файл MEX из исходного кода. Если использование флага |