exponenta event banner

Перемещение кода, созданного из кода MATLAB, в другую среду разработки

После создания кода из алгоритма MATLAB ® можно переместить код в другую среду разработки, такую как система или интегрированная среда разработки (IDE), которая не включает MATLAB. Вы можете упаковывать файлы в сжатый файл с помощью packNGo функция в командной строке или выборе Пакета в приложении MATLAB Coder™. Как только Вы создаете zip-файл, Вы можете переместить и распаковать сжатый zip-файл, используя стандартную полезность почтового индекса.

Упакуйте код

В этом примере показано, как упаковать исполняемый файл, сгенерированный на примере создания кода C из кода MATLAB, с помощью команды packNGo функция. Можно также создать и упаковать статический файл библиотеки или динамический файл библиотеки. Невозможно упаковать файл C-MEX, так как файл MEX требует выполнения MATLAB. Для получения дополнительной информации о packNGo, см. packNGo в методах RTW.BuildInfo (кодер MATLAB).

Файлы, необходимые для создания исполняемого файла: reconstructSignalTestbench.m, GenerateSignalWithHighEnergyFFTCoeffs.m, и reconstructSignalTestbench_Main.c файлы из примера Создать код C из кода MATLAB. Скопируйте все эти файлы в текущую рабочую папку. Чтобы создать исполняемый файл, выполните следующие команды в командной строке MATLAB:

cfg =  coder.config('exe');
cfg.CustomSource = 'reconstructSignalTestbench_Main.c';
cfg.CustomInclude = ['"',pwd,'"'];
codegen -config cfg -report reconstructSignalTestbench

Если вы используете Windows, вы можете видеть, что reconstructSignalTestbench.exe создается в текущей папке. При использовании компьютера Linux генерируемый исполняемый файл reconstructSignalTestbench. codegen генерирует исходный код зависимости и buildinfo.mat в файле codegen\exe\reconstructSignalTestbench папка.

Загрузить buildInfo объект.

load('codegen\exe\reconstructSignalTestbench\buildinfo.mat')

Упакуйте код в .zip с использованием packNGo функция.

packNGo(buildInfo,'fileName','reconstructSignalWithHighEnergyFFTCoeffs.zip');

packNGo создает zip-файл, reconstructSignalWithHighEnergyFFTCoeffs.zip в текущей рабочей папке. В этом примере указывается только имя файла. При необходимости можно указать дополнительные параметры упаковки. См. раздел Определение параметров packNGo (кодер MATLAB).

Это .zip файл содержит код C, заголовочные файлы, .dll и исполняемый файл, который должен выполняться во внешней среде. Переместить .zip в целевую среду разработки и распакуйте файл для запуска исполняемого файла.

Готовые файлы динамической библиотеки (.dll)

При сравнении содержимого codegen\exe\reconstructSignalTestbench папку и reconstructSignalWithHighEnergyFFTCoeffs.zip папка, вы можете видеть, что есть дополнительные .dll файлы, которые отображаются в папке zip. Они .dll файлы являются предварительно созданными файлами динамической библиотеки, поставляемыми с MATLAB. Для исполняемых файлов, созданных из определенных объектов System, необходимы эти предварительно созданные .dll файлы. Пример создания кода C из кода MATLAB использует dsp.FFT и dsp.IFFT Системные объекты, чьи 'FFTImplementation' имеет значение 'FFTW'. В режиме FFTW исполняемые файлы, сгенерированные из этих объектов, зависят от предварительно созданного .dll файлы. Для кода пакета, который выполняется в среде без установленного MATLAB, MATLAB Coder упаковывает следующие .dll файлы в zip-папке. Список всех системных объектов в DSP System Toolbox™, которые требуют предварительной сборки .dll см. раздел Как запустить созданный исполняемый файл вне MATLAB.

Идентификация предварительно созданного .dll , выполните следующую команду в командной строке MATLAB.

files = getNonBuildFiles(buildInfo,'true','true');

Дополнительные сведения см. в разделе getNonBuildFiles в настройке процесса построения (кодер MATLAB).

Пример, показывающий рабочий процесс опции Пакет (Package) для перемещения кода с помощью приложения Кодер MATLAB (MATLAB Coder), см. в разделе Код пакета для других сред разработки (MATLAB Coder).

Связанные темы