MATLAB® Coder™ может сгенерировать код для следующих выходных типов:
MEX-функция
Автономный код C/C++
Автономный код C/C++ и компиляция это к статической библиотеке
Автономный код C/C++ и компиляция это к динамически подключаемой библиотеке
Автономный код C/C++ и компиляция это к исполняемому файлу
Когда вы генерируете исполняемый файл, необходимо обеспечить файл C/C++, который содержит функцию main
, как описано в Определении основных Функций для Исполняемых файлов C/C++.
По умолчанию MATLAB CODER генерирует файлы в выходных папках на основе вашего выходного типа. Для получения дополнительной информации смотрите Сгенерированные Файлы и Местоположения.
Каждый раз, когда MATLAB CODER генерирует тот же тип вывода для того же кода или проекта, это удаляет файлы из предыдущей сборки. Если вы хотите сохранить файлы от сборки, скопируйте их в другое место прежде, чем запустить другую сборку.
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
Установите тип Сборки на одно из следующих.
Source Code
MEX
Static Library
Dynamic Library
Executable
Если вы выбираете Source Code
, MATLAB Coder не вызывает сделать команду или генерирует скомпилированный объектный код. Когда вы выполняете итерации между изменением кода MATLAB и генерацией кода C/C++, и вы хотите осмотреть сгенерированный код, эта опция может сэкономить вам время. Эта опция эквивалентна Static Library
со Сгенерировать кодом только выбранное поле.
Генерация кода использует различный набор параметров конфигурации для MEX-функций, чем она использует для других типов сборки. Когда вы переключаете выходной тип между MEX Function
и Source
, Static Library
, Dynamic Library
, или Executable
, проверяете эти настройки. Для получения дополнительной информации смотрите Изменение Выходной Тип.
Вызовите codegen
с опцией -config
. Например, предположите, что у вас есть первичная функция foo
, который не берет входных параметров. Следующая таблица показывает, как задать различные выходные типы при компиляции foo
. Если первичная функция ввела параметры, необходимо задать эти входные параметры. Для получения дополнительной информации смотрите Specify Properties Входных параметров функции Точки входа.
C является языком по умолчанию для генерации кода с MATLAB CODER. Чтобы сгенерировать Код С++, смотрите, Задают Язык для Генерации кода.
Сгенерировать: | Используйте эту команду: |
---|---|
MEX-функция с помощью опций генерации кода по умолчанию |
codegen foo |
Опции генерации кода определения MEX-функции |
cfg = coder.config('mex'); % Set configuration parameters, for example, % enable a code generation report cfg.GenerateReport=true; % Call codegen, passing the configuration % object codegen -config cfg foo |
Автономный код C/C++ и компиляция это к библиотеке с помощью опций генерации кода по умолчанию |
codegen -config:lib foo |
Автономный код C/C++ и компиляция это генерации кода определения библиотеки опции |
cfg = coder.config('lib'); % Set configuration parameters, for example, % enable a code generation report cfg.GenerateReport=true; % Call codegen, passing the configuration % object codegen -config cfg foo |
Автономный код C/C++ и компиляция это к исполняемому файлу с помощью опций генерации кода по умолчанию и задавая файл main.c в командной строке |
codegen -config:exe main.c foo ПримечаниеНеобходимо задать функцию |
Автономный код C/C++ и компиляция это исполнимой генерации кода определения опции |
cfg = coder.config('exe'); % Set configuration parameters, for example, % specify main file cfg.CustomSource = 'main.c'; cfg.CustomInclude = 'c:\myfiles'; codegen -config cfg foo ПримечаниеНеобходимо задать функцию |
MATLAB CODER может сгенерировать C или библиотеки C++ и исполняемые файлы. C является языком по умолчанию. Можно задать язык явным образом от диалогового окна настроек проекта или в командной строке.
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
Установите язык на C
или C++
.
Если вы задаете C++
, MATLAB CODER переносит код C
в файлы .cpp
. Можно использовать компилятор C++
и интерфейс с внешними приложениями C++
. MATLAB CODER не генерирует классы C++
.
Выберите подходящий компилятор для своего выходного языка.
Создайте объект настройки для генерации кода. Например, для библиотеки:
cfg = coder.config('lib');
Установите свойство TargetLang
на 'C'
или 'C++'
. Например:
cfg.TargetLang = 'C++';
Если вы задаете C++
, MATLAB CODER переносит код C
в файлы .cpp
. Можно затем использовать компилятор C++
и интерфейс с внешними приложениями C++
. MATLAB CODER не генерирует классы C++
.
Смотрите также
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
В поле имени Выходного файла введите имя файла.
Не помещайте пробелы в имя файла.
По умолчанию, если именем первого файла MATLAB точки входа является fcn1
, имя выходного файла:
fcn1
для библиотек C/C++ и исполняемых файлов.
fcn1_mex
для MEX-функций.
По умолчанию MATLAB CODER генерирует файлы в папке
:project_folder/codegen/target/fcn1
project_folder
является вашей текущей папкой проекта
target
:
mex
для MEX-функций
lib
для статических библиотек C/C++
dll
для динамических библиотек C/C++
exe
для исполняемых файлов C/C++
Используйте функцию codegen
опция -o
.
Местоположение выходного файла не должно содержать:
Пробелы (Пробелы могут привести к отказам генерации кода в определенных настройках операционной системы).
Вкладки
\
, $
, #
, *
, ?
символы ASCII Non-7-bit, такие как японские символы.
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
Установите тип Сборки на Source Code
, Static Library
, Dynamic Library
или Executable
(в зависимости от ваших требований).
Нажмите More Settings.
Кликните по вкладке Paths.
Настройкой по умолчанию для поля папки Build является A subfolder of the project folder
. По умолчанию MATLAB CODER генерирует файлы в папке
:project_folder/codegen/target/fcn1
fcn1
является именем в алфавитном порядке первого файла точки входа.
target
:
mex
для MEX-функций
lib
для статических библиотек C/C++
dll
для динамически соединенных библиотек C/C++
exe
для исполняемых файлов C/C++
Чтобы изменить выходное местоположение, вы можете также:
Установите папку сборки на A subfolder of the current MATLAB working folder
MATLAB CODER генерирует файлы в папке
MATLAB_working_folder/codegen/target/fcn1
Установите Папку Сборки на Specified folder
. В поле имени папки Сборки обеспечьте путь к папке.
Используйте функцию codegen
опция -d
.
При использовании | Использование | Детали |
---|---|---|
Приложение MATLAB CODER | Диалоговое окно настроек проекта. | Задайте приложение MATLAB CODER параметров конфигурации сборки |
codegen в командной строке и хочет задать несколько параметров | Объекты настройки | Задайте параметры конфигурации сборки в командной строке Используя объекты настройки |
codegen в скриптах сборки | ||
codegen в командной строке и хочет задать много параметров | Диалоговые окна объекта Configuration | Определение параметров конфигурации сборки в командной строке Используя диалоговые окна |
Задайте приложение MATLAB CODER параметров конфигурации сборки
Задайте параметры конфигурации сборки в командной строке Используя объекты настройки
Определение параметров конфигурации сборки в командной строке Используя диалоговые окна
Можно задать параметры конфигурации сборки от диалогового окна настроек проекта MATLAB CODER, командной строки или диалоговых окон объекта настройки.
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
Установите тип Сборки на Source Code
, Static Library
, Dynamic Library
или Executable
(в зависимости от ваших требований).
Нажмите More Settings.
Диалоговое окно настроек проекта обеспечивает набор параметров конфигурации, применимых к выходному типу, который вы выбираете. Генерация кода использует различный набор параметров конфигурации для MEX-функций, чем она использует для других типов сборки. Когда вы переключаете выходной тип между MEX Function
и Source Code
, Static Library
, Dynamic Library
, или Executable
, проверяете эти настройки. Смотрите Изменение Выходной Тип.
Измените параметры как требуется. Для получения дополнительной информации о параметрах на вкладке, нажмите Help.
Изменения в установках параметров сразу происходят.
Типы Объектов Настройки. Настройка использования функции codegen
возражает, чтобы настроить вашу среду для генерации кода. В следующей таблице перечислены доступные объекты настройки.
Объект настройки | Описание |
---|---|
Если не Встроенная лицензия Coder® доступна, или вы отключаете использование лицензии Embedded Coder, задает параметры для библиотеки C/C++ или исполняемой генерации. | |
Если лицензия Embedded Coder доступна, задает параметры для библиотеки C/C++ или исполняемой генерации. | |
Задает параметры реализации целевого компьютера. Если не заданный, | |
Задает параметры для генерации кода MEX. |
Работа с Объектами Настройки. Использовать объекты настройки настроить вашу среду для генерации кода:
В MATLAB workspace задайте переменные объекта настройки, как описано в Создании Объектов Настройки.
Например, чтобы сгенерировать настройку возражают для статической генерации библиотеки C:
cfg = coder.config('lib'); % Returns a coder.CodeConfig object if no % Embedded Coder license available. % Otherwise, returns a coder.EmbeddedCodeConfig object.
Измените параметры объекта настройки как требуется, с помощью одного из этих методов:
Интерактивные команды, как описано в Задают Параметры Конфигурации сборки в Командной строке Используя Объекты Настройки
Диалоговые окна, как описано в Определении Параметров Конфигурации сборки в Командной строке Используя Диалоговые окна
Вызовите функцию codegen
с опцией -config
. Задайте объект настройки в качестве его аргумента.
Опция -config
дает команду codegen
генерировать код для цели, на основе значений свойств настройки. В следующем примере codegen
генерирует статическую библиотеку C от функции MATLAB, foo
, на основе параметров объекта настройки генерации кода, cfg
, заданного в первом шаге:
codegen -config cfg foo
Опция -config
задает тип вывода, который вы хотите создать — в этом случае, статическая библиотека C. Для получения дополнительной информации смотрите codegen
.
Создание Объектов Настройки. Можно задать объект настройки в MATLAB workspace.
Создать... | Используйте команду такой как... |
---|---|
Объект настройки MEXcoder.MexCodeConfig |
cfg = coder.config('mex'); |
Настройка генерации кода возражает для генерации автономной библиотеки C/C++ или исполняемого файлаcoder.CodeConfig |
% To generate a static library cfg = coder.config('lib'); % To generate a dynamic library cfg = coder.config('dll') % To generate an executable cfg = coder.config('exe'); ПримечаниеЕсли лицензия Embedded Coder доступна, создает объект При использовании параллельные лицензии, чтобы отключить выезд из лицензии Embedded Coder, используйте одну из следующих команд: cfg = coder.config('lib', 'ecoder', false) cfg = coder.config('dll', 'ecoder', false) cfg = coder.config('exe', 'ecoder', false) |
Настройка генерации кода возражает для генерации автономной библиотеки C/C++ или исполняемого файла для целевого процессораcoder.EmbeddedCodeConfig |
% To generate a static library cfg = coder.config('lib'); % To generate a dynamic library cfg = coder.config('dll') % To generate an executable cfg = coder.config('exe'); ПримечаниеТребует лицензии Embedded Coder; в противном случае создает объект |
Объект настройки аппаратной реализацииcoder.HardwareImplementation | hwcfg = coder.HardwareImplementation |
Каждый объект настройки идет с набором параметров, инициализированных к значениям по умолчанию. Можно изменить эти настройки, как описано в Изменении Объектов Настройки в Командной строке Используя Запись через точку.
Изменение Объектов Настройки в Командной строке Используя Запись через точку. Можно использовать запись через точку, чтобы изменить значение одного параметра объекта настройки за один раз. Используйте этот синтаксис:
configuration_object.property = value
Запись через точку использует операторы присваивания, чтобы изменить свойства объектов настройки:
Чтобы задать main
функционируют во время генерации кода C/C++:
cfg = coder.config('exe'); cfg.CustomInclude = 'c:\myfiles'; cfg.CustomSource = 'main.c'; codegen -config cfg foo
Автоматически сгенерировать и запустить отчеты генерации кода после генерации C/C++ статическая библиотека:
cfg = coder.config('lib'); cfg.GenerateReport= true; cfg.LaunchReport = true; codegen -config cfg foo
Сохранение Объектов Настройки. Объекты настройки автоматически не сохраняются между сеансами работы с MATLAB. Используйте один из следующих методов, чтобы сохранить ваши настройки:
Сохраните объект настройки в MAT-файл и затем загрузите MAT-файл на своем следующем сеансе
Запишите скрипт, который создает объект настройки и устанавливает его свойства.
Создайте объект настройки, как описано в Создании Объектов Настройки.
Например, чтобы создать настройку coder.MexCodeConfig
возражают для генерации кода MEX:
mexcfg = coder.config('mex');
Откройте диалоговое окно свойства с помощью одного из этих методов:
В MATLAB workspace дважды кликните переменную объекта настройки.
В посдказке MATLAB дайте команду open
, передав его переменная объекта настройки, как в этом примере:
open mexcfg
В диалоговом окне измените параметры конфигурации как требуется, затем нажмите Apply.
Вызовите функцию codegen
с опцией -config
. Задайте объект настройки в качестве его аргумента:
codegen -config mexcfg foo
Опция -config
задает тип вывода, который вы хотите создать. Для получения дополнительной информации смотрите codegen
.