Сконфигурируйте настройки сборки

Задайте тип сборки

Создайте типы

MATLAB® Coder™ может сгенерировать код для следующих выходных типов:

  • MEX-функция

  • Автономный код C/C++

  • Автономный код C/C++ и компиляция это к статической библиотеке

  • Автономный код C/C++ и компиляция это к динамически подключаемой библиотеке

  • Автономный код C/C++ и компиляция это к исполняемому файлу

    Примечание

    Когда вы генерируете исполняемый файл, необходимо обеспечить файл C/C++, который содержит функцию main, как описано в Определении основных Функций для Исполняемых файлов C/C++.

Местоположение сгенерированных файлов

По умолчанию MATLAB CODER генерирует файлы в выходных папках на основе вашего выходного типа. Для получения дополнительной информации смотрите Сгенерированные Файлы и Местоположения.

Примечание

Каждый раз, когда MATLAB CODER генерирует тот же тип вывода для того же кода или проекта, это удаляет файлы из предыдущей сборки. Если вы хотите сохранить файлы от сборки, скопируйте их в другое место прежде, чем запустить другую сборку.

Задайте тип сборки Используя приложение MATLAB CODER

  1. Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.

  2. Установите тип Сборки на одно из следующих.

    • 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

Примечание

Необходимо задать функцию main для генерации исполняемого файла C/C++. Смотрите Задающие основные Функции для Исполняемых файлов C/C++

Автономный код 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

Примечание

Необходимо задать функцию main для генерации исполняемого файла C/C++. Смотрите Задающие основные Функции для Исполняемых файлов C/C++

Задайте язык для генерации кода

MATLAB CODER может сгенерировать C или библиотеки C++ и исполняемые файлы. C является языком по умолчанию. Можно задать язык явным образом от диалогового окна настроек проекта или в командной строке.

Задайте язык Используя приложение MATLAB CODER

  1. Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.

  2. Установите язык на C или C++.

    Примечание

    Если вы задаете C++, MATLAB CODER переносит код C в файлы .cpp. Можно использовать компилятор C++ и интерфейс с внешними приложениями C++. MATLAB CODER не генерирует классы C++.

Определение языка Используя интерфейс командной строки

  1. Выберите подходящий компилятор для своего выходного языка.

  2. Создайте объект настройки для генерации кода. Например, для библиотеки:

    cfg = coder.config('lib');

  3. Установите свойство TargetLang на 'C' или 'C++'. Например:

    cfg.TargetLang = 'C++';

    Примечание

    Если вы задаете C++, MATLAB CODER переносит код C в файлы .cpp. Можно затем использовать компилятор C++ и интерфейс с внешними приложениями C++. MATLAB CODER не генерирует классы C++.

Смотрите также

Задайте имя выходного файла

Задайте имя выходного файла Используя приложение MATLAB CODER

  1. Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.

  2. В поле имени Выходного файла введите имя файла.

Примечание

Не помещайте пробелы в имя файла.

По умолчанию, если именем первого файла 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.

Задайте местоположения выходного файла

Задайте местоположение выходного файла Используя приложение MATLAB CODER

Местоположение выходного файла не должно содержать:

  • Пробелы (Пробелы могут привести к отказам генерации кода в определенных настройках операционной системы).

  • Вкладки

  • \, $, #, *, ?

  • символы ASCII Non-7-bit, такие как японские символы.

  1. Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.

  2. Установите тип Сборки на Source Code, Static Library, Dynamic Library или Executable (в зависимости от ваших требований).

  3. Нажмите More Settings.

  4. Кликните по вкладке 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++

  5. Чтобы изменить выходное местоположение, вы можете также:

    • Установите папку сборки на 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 параметров конфигурации сборки

  1. Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.

  2. Установите тип Сборки на Source Code, Static Library, Dynamic Library или Executable (в зависимости от ваших требований).

  3. Нажмите More Settings.

    Диалоговое окно настроек проекта обеспечивает набор параметров конфигурации, применимых к выходному типу, который вы выбираете. Генерация кода использует различный набор параметров конфигурации для MEX-функций, чем она использует для других типов сборки. Когда вы переключаете выходной тип между MEX Function и Source Code, Static Library, Dynamic Library, или Executable, проверяете эти настройки. Смотрите Изменение Выходной Тип.

  4. Измените параметры как требуется. Для получения дополнительной информации о параметрах на вкладке, нажмите Help.

    Изменения в установках параметров сразу происходят.

Задайте параметры конфигурации сборки в командной строке Используя объекты настройки

Типы Объектов Настройки.  Настройка использования функции codegen возражает, чтобы настроить вашу среду для генерации кода. В следующей таблице перечислены доступные объекты настройки.

Объект настройкиОписание

coder.CodeConfig

Если не Встроенная лицензия Coder® доступна, или вы отключаете использование лицензии Embedded Coder, задает параметры для библиотеки C/C++ или исполняемой генерации.

coder.EmbeddedCodeConfig

Если лицензия Embedded Coder доступна, задает параметры для библиотеки C/C++ или исполняемой генерации.

coder.HardwareImplementation

Задает параметры реализации целевого компьютера. Если не заданный, codegen генерирует код, который совместим с хостом - компьютером MATLAB.

coder.MexCodeConfig

Задает параметры для генерации кода MEX.

Работа с Объектами Настройки.  Использовать объекты настройки настроить вашу среду для генерации кода:

  1. В MATLAB workspace задайте переменные объекта настройки, как описано в Создании Объектов Настройки.

    Например, чтобы сгенерировать настройку возражают для статической генерации библиотеки C:

    cfg = coder.config('lib');
    % Returns a coder.CodeConfig object if no
    % Embedded Coder license available. 
    % Otherwise, returns a coder.EmbeddedCodeConfig object.

  2. Измените параметры объекта настройки как требуется, с помощью одного из этих методов:

  3. Вызовите функцию codegen с опцией -config. Задайте объект настройки в качестве его аргумента.

    Опция -config дает команду codegen генерировать код для цели, на основе значений свойств настройки. В следующем примере codegen генерирует статическую библиотеку C от функции MATLAB, foo, на основе параметров объекта настройки генерации кода, cfg, заданного в первом шаге:

    codegen -config cfg foo

    Опция -config задает тип вывода, который вы хотите создать — в этом случае, статическая библиотека C. Для получения дополнительной информации смотрите codegen.

Создание Объектов Настройки.  Можно задать объект настройки в MATLAB workspace.

Создать...Используйте команду такой как...
Объект настройки MEX

coder.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 доступна, создает объект coder.EmbeddedCodeConfig.

При использовании параллельные лицензии, чтобы отключить выезд из лицензии 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.CodeConfig.

Объект настройки аппаратной реализации

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-файл на своем следующем сеансе

 Запишите скрипт, который создает объект настройки и устанавливает его свойства.

Определение параметров конфигурации сборки в командной строке Используя диалоговые окна

  1. Создайте объект настройки, как описано в Создании Объектов Настройки.

    Например, чтобы создать настройку coder.MexCodeConfig возражают для генерации кода MEX:

    mexcfg = coder.config('mex');

  2. Откройте диалоговое окно свойства с помощью одного из этих методов:

    • В MATLAB workspace дважды кликните переменную объекта настройки.

    • В посдказке MATLAB дайте команду open, передав его переменная объекта настройки, как в этом примере:

      open mexcfg

  3. В диалоговом окне измените параметры конфигурации как требуется, затем нажмите Apply.

  4. Вызовите функцию codegen с опцией -config. Задайте объект настройки в качестве его аргумента:

    codegen -config mexcfg foo

    Опция -config задает тип вывода, который вы хотите создать. Для получения дополнительной информации смотрите codegen.

Была ли эта тема полезной?