Если вы генерируете код из своего алгоритма MATLAB®, можно переместить код к другой среде разработки, такой как система или интегрированная среда разработки (IDE), которая не включает MATLAB. Можно группировать файлы в сжатый файл с помощью функции packNGo в командной строке или опции Package в приложении MATLAB Coder™. Если вы создаете zip-файл, можно переместить и распаковать сжатый zip-файл с помощью стандартной утилиты zip.
Этот пример показывает, как группировать исполняемый файл, сгенерированный от Сгенерировать кода С от примера кода MATLAB с помощью функции packNGo. Можно также сгенерировать и группировать статический файл библиотеки или динамический файл библиотеки. Вы не можете группировать файл MEX на C, поскольку файл MEX требует, чтобы MATLAB запустился. Для получения дополнительной информации о packNGo смотрите packNGo в Методах информации о Сборке (MATLAB Coder).
Файлы должны были сгенерировать исполняемый файл, reconstructSignalTestbench.m, GenerateSignalWithHighEnergyFFTCoeffs.m и файлы reconstructSignalTestbench_Main.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 Coder).
Этот файл .zip содержит код С, заголовочные файлы, файлы .dll и исполняемый файл, который должен работать на внешней среде. Переместите файл .zip к целевой среде разработки и распакуйте файл, чтобы запустить исполняемый файл.
Если вы сравниваете содержимое папки codegen\exe\reconstructSignalTestbench и папки reconstructSignalWithHighEnergyFFTCoeffs.zip, вы видите, что существуют дополнительные файлы .dll, которые появляются в папке zip. Эти файлы .dll предварительно создаются динамические файлы библиотеки, которые поставляются с MATLAB. Исполняемые файлы, сгенерированные от определенных Системных объектов, требуют, чтобы они предварительно создали файлы .dll. Сгенерировать код С от примера кода 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 Coder).
Для примера, показывающего рабочий процесс опции Package, чтобы переместить код с помощью приложения MATLAB Coder, см. Код Пакета для Других Сред разработки (MATLAB Coder).