Что, если я не обновляю?

Если вы не обновляете свой исходный код MEX, можно все еще создать файлы MEX с помощью опции -compatibleArrayDims. Используйте этот флаг, чтобы гарантировать желаемое поведение через версии MATLAB®. Если вы создаете без флага -compatibleArrayDims, то один или несколько из следующего мог произойти:

  • Увеличенные предупреждения компилятора и/или ошибки из вашего нативного компилятора

  • Ошибки времени выполнения

  • Неправильные ответы

Я могу запустить существующие бинарные файлы MEX?

Можно запустить существующие бинарные файлы MEX, не обновляя файлы для использования с 64-битным API. Однако несовместимости могут предотвратить выполнение существующего файла MEX. Если ваш файл MEX не выполняется правильно, поиск mex в соответствующей информации о релизах MATLAB и рассматривает темы Вопросов совместимости.

Я должен обновить исходные файлы MEX на 64-битных платформах?

Если вы создаете файлы MEX на 64-битных платформах или пишете платформенно независимые приложения, необходимо обновить файлы MEX. К upgrade рассмотрите свой исходный код, внесите соответствующие изменения и восстановите использование команды mex.

Какие меры, которые вы принимаете теперь, зависят от того, используют ли ваши файлы MEX в настоящее время 64-битный API. Следующая таблица помогает вам идентифицировать свои следующие действия.

Состояние вашего исходного кодаСледующее действие

Я не планирую обновить свой код.

Вы приняли решение отказаться, и необходимо создать использование флага -compatibleArrayDims. Однако в будущей версии MATLAB, слой совместимости, с флагом -compatibleArrayDims, может быть не поддержан.

Я хочу обновить свой код. Где я запускаю?

Смотрите файлы MEX обновления, чтобы использовать 64-битный API.

Я использую файлы MEX, но не имею доступа к исходному коду.

Попросите, чтобы владелец исходного кода выполнил шаги в файлах MEX Обновления, чтобы Использовать 64-битный API.

Я пользуюсь сторонними библиотеками.

Спросите поставщика, если библиотеки поддерживают 64-битную индексацию. В противном случае вы не можете пользоваться этими библиотеками, чтобы создать 64-битные файлы MEX. Создайте свой файл MEX с помощью флага -compatibleArrayDims.

Если библиотеки поддерживают 64-битную индексацию, рассматривают ваш исходный код, выполняя шаги в файлах MEX Обновления, чтобы Использовать 64-битный API, и затем протестировать.

Я обновил свой код в предыдущем релизе.

Никакое изменение не требуется. Однако вы больше не должны использовать опцию -largeArrayDims при создании файла MEX.

Мой файл MEX генерирует ошибки.

Необходимо перекомпилировать файл MEX из исходного кода. Если использование флага -compatibleArrayDims не решает вопрос, затем в вашем исходном коде могут быть несовместимости. Для получения информации о несовместимостях смотрите, что я могу Запустить Существующие Бинарные файлы MEX?. MathWorks рекомендует, чтобы вы обновили свой исходный код MEX, чтобы использовать 64-битный API.

Связанные примеры

Больше о