exponenta event banner

Что делать, если обновление не выполняется?

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

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

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

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

Можно ли запустить существующие двоичные файлы MEX?

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

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

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

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

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

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

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

Я хочу обновить свой код. С чего начать?

См. раздел Обновление файлов MEX для использования 64-Bit API.

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

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

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

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

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

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

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

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

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

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

Подробнее