Как только вы генерируете код из вашего MATLAB® алгоритм, можно перенести код в другую среду разработки, такую как система или интегрированная среда разработки (IDE), которая не включает MATLAB. Вы можете упаковать файлы в сжатый файл, используя packNGo
функция в командной строке или опция Package в приложении MATLAB Coder™. После создания zip- файла можно переместить и распаковать сжатую zip- файла с помощью стандартной zip- утилиты.
В этом примере показано, как упаковать исполняемый файл, сгенерированный из примера генерации кода С из кода MATLAB, используя packNGo
функция. Можно также сгенерировать и упаковать файл статической библиотеки или файл динамической библиотеки. Вы не можете упаковать файл MEX на C, так как файл MEX требует выполнения MATLAB. Для получения дополнительной информации о packNGo
, см. packNGo
в методах RTW.BuildInfo (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
в текущей рабочей папке. В этом примере вы задаете только имя файла. Вы также можете задать дополнительные опции упаковки. Смотрите Specify packNGo Options (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).