Параметры конфигурации для генерации кода C/C++ из кода MATLAB
coder.CodeConfig
объект содержит параметры конфигурации это codegen
использование для генерации статической библиотеки, динамически подключаемой библиотеки или исполняемой программы. Передайте объект codegen
функция при помощи -config
опция.
Создайте coder.CodeConfig
объект при помощи coder.config
функция.
Если вы создаете coder.CodeConfig
объект, можно изменить его свойства программно в командной строке или в интерактивном режиме при помощи Диалогового окна Параметра конфигурации. Смотрите Задают Параметры конфигурации в Рабочем процессе Командной строки В интерактивном режиме.
BuildConfiguration
— Компиляторная оптимизация или параметры настройки отладки для набора инструментальных средств'Faster Runs'
(значение по умолчанию) | 'Faster Builds'
| 'Debug'
| 'Specify'
Компиляторная оптимизация или параметры настройки отладки для набора инструментальных средств в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Faster Builds' | Оптимизирует сборку в течение более коротких времен сборки. |
'Faster Runs' | Оптимизирует сборку для более быстрых рабочих исполняемых файлов. |
'Debug' | Оптимизирует сборку для отладки. |
'Specify' | Включает |
CacheDynamicArrayDataPointer
— Оптимизация динамического массиваtrue
(значение по умолчанию) | false
Оптимизация динамического массива в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода улучшает время выполнения сгенерированного кода C путем оптимизации доступа к динамическому массиву. |
false | Генератор кода не оптимизирует доступ к динамическому массиву. |
Смотрите оптимизируют динамический массив доступ.
CodeFormattingTool
— Инструмент Formatting для сгенерированного кода'Auto'
(значение по умолчанию) | 'Clang-format'
| 'MathWorks'
Параметры форматирования кода для сгенерированного кода в виде одного из значений в таблице.
Значение | Описание |
---|---|
'Clang-format' | Генератор кода форматирует сгенерированный код согласно |
'Auto' | Использует внутреннюю эвристику, чтобы определить, отформатирован ли сгенерированный код Определить, отформатирован ли сгенерированный код |
'MathWorks' | Заставляет генератор кода возвращаться к инструменту форматирования MathWorks. |
CodeReplacementLibrary
— Заменяющая библиотека кода для сгенерированного кодаЗаменяющая библиотека кода для сгенерированного кода в виде одного из значений в этой таблице:
Значение | Описание |
---|---|
'None' | Это значение является значением по умолчанию. Не пользуется заменяющей библиотекой кода. |
Названная заменяющая библиотека кода | Генерирует вызовы определенной платформы, компилятора или заменяющей библиотеки стандартов кода. Список именованных библиотек зависит от:
|
Совместимые библиотеки зависят от этих параметров:
TargetLang
TargetLangStandard
ProdHWDeviceType
в объекте настройки аппаратной реализации.
Embedded Coder предлагает больше библиотек и способность создать и пользоваться заменяющими библиотеками пользовательского кода.
MATLAB® Coder™ генерирует минимальный набор #include
операторы для заголовочных файлов требуются выбранной заменяющей библиотекой кода.
Прежде, чем установить этот параметр, проверьте, что ваш компилятор поддерживает библиотеку, которой вы хотите пользоваться. Если вы выбираете значение параметров, которое не поддерживает ваш компилятор, ошибки компилятора могут произойти.
Примечание
Программное обеспечение MATLAB Coder не поддерживает коллбэки TLC.
CompileTimeRecursionLimit
— Максимальное количество функциональных специализаций для рекурсии времени компиляцииМаксимальное количество функциональных специализаций для рекурсии времени компиляции в виде положительного целого числа. Чтобы запретить рекурсию в коде MATLAB, установите CompileTimeRecursionLimit
к 0. Предел рекурсии времени компиляции по умолчанию является достаточно большим для большинства рекурсивных функций, которые требуют этого типа рекурсии. Если генерация кода перестала работать из-за предела рекурсии времени компиляции, и вы хотите рекурсию времени компиляции, пытаетесь увеличить предел. В качестве альтернативы измените свой код MATLAB так, чтобы генератор кода использовал рекурсию во время выполнения. Смотрите Достигнутый Предел Рекурсии Времени компиляции.
ConstantFoldingTimeout
— Максимальное количество инструкций, которые будут выполняться постоянной папкойМаксимальное количество инструкций, что постоянная папка выполняется. В некоторых ситуациях генерация кода требует, чтобы конкретные инструкции были постоянными. Если сворачивание констант останавливается, прежде чем эти инструкции постоянно свернуты, сбои генерации кода. В этом случае увеличьте значение ConstantFoldingTimeout
.
CppInterfaceClassName
— Интерфейсное имя класса для сгенерированного Кода С++''
(значение по умолчанию) | вектор символовИмя интерфейсного класса, когда вы генерируете Код С++ с CppInterfaceStyle
установите на 'Methods'
. В этом случае сгенерированный код для функций точки входа MATLAB состоит из методов, содержавшихся в классе C++ с именем, заданным CppInterfaceClassName
. Это свойство не оказывает влияния, когда вы устанавливаете CppInterfaceStyle
к 'Functions'
.
Смотрите генерируют код С++ с интерфейсом класса.
CppInterfaceStyle
— Стиль интерфейса для сгенерированного Кода С++'Functions'
(значение по умолчанию) | 'Methods'
Стиль интерфейса к сгенерированному Коду С++ для функций точки входа MATLAB, от которых вы генерируете код. По умолчанию функции точки входа становятся функциями C++. Если вы выбираете 'Methods'
, затем функции точки входа становятся методами в классе C++. Задайте имя класса при помощи свойства CppInterfaceClassName
.
Смотрите генерируют код С++ с интерфейсом класса.
Зависимость:
Установка TargetLang
к 'C++'
включает этот параметр.
CppPackagesToNamespaces
— Сгенерируйте пространства имен C++ для пакетов MATLABtrue
(значение по умолчанию) | false
Сгенерировать ли пространства имен C++ для пакетов в вашем коде MATLAB в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит пространства имен C++ для пакетов в вашем коде MATLAB. Смотрите Организуют Сгенерированный Код С++ в Пространства имен. |
false | Генератор кода не производит пространства имен C++ для пакетов в вашем коде MATLAB. |
Зависимость:
Установка TargetLang
к 'C++'
включает этот параметр.
Типы данных: логический
CppNamespace
— Имя пространства имен для сгенерированного Кода С++''
(значение по умолчанию) | вектор символовПространство имен для сгенерированного Кода С++. Генератор кода не производит код в пространстве имен, если вы не задаете непустой вектор символов.
Смотрите организуют сгенерированный код С++ в пространства имен.
Зависимость:
Установка TargetLang
к 'C++'
включает этот параметр.
CppNamespaceForMathworksCode
— Поместите Код С++, сгенерированный для кода MathWorks в отдельном пространстве имен'coder'
(значение по умолчанию) | вектор символовПространство имен для Кода С++ сгенерировано для кода MathWorks. Генератор кода не производит такое пространство имен, если вы задаете это свойство как пустой символьный вектор.
Смотрите организуют сгенерированный код С++ в пространства имен.
Зависимость:
Установка TargetLang
к 'C++'
включает этот параметр.
Типы данных: char
CppPreserveClasses
— Сгенерируйте классы C++ для классов MATLABtrue
(значение по умолчанию) | false
Сгенерировать ли классы C++, или C разрабатывают структуры для классов MATLAB в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит классы C++ для классов MATLAB. Смотрите Генерируют Классы C++ для Классов MATLAB. |
false | Генератор кода производит структуры стиля C для классов MATLAB. |
При использовании GPU Coder™ генератор кода всегда отключает этот параметр.
Зависимость:
Установка TargetLang
к 'C++'
включает этот параметр.
Типы данных: логический
CustomBLASCallback
— Класс коллбэка BLASКласс коллбэка для библиотеки BLAS вызывает в коде, сгенерированном для определенного низкоуровневого вектора и операций над матрицей в коде MATLAB в виде вектора символов.
Если вы задаете класс коллбэка BLAS для определенных низкоуровневых векторных и матричных функций, генератор кода производит вызовы BLAS при помощи интерфейса C CBLAS к вашей библиотеке BLAS. Класс коллбэка обеспечивает имя вашего заголовочного файла CBLAS, имена типов данных CBLAS и информацию, запрошенную, чтобы соединиться с вашей библиотекой BLAS. Если этот параметр пуст, генератор кода производит код для матричных функций вместо вызова BLAS.
Смотрите ускоряют Матричные операции в сгенерированном автономном коде при помощи вызовов BLAS.
CustomFFTCallback
— Класс коллбэка для вызовов библиотеки FFTW Класс коллбэка для библиотеки FFTW вызывает в коде, сгенерированном для функций БПФ в коде MATLAB в виде вектора символов.
Чтобы улучшить скорость выполнения функций БПФ, генератор кода производит вызовы библиотеки FFTW, которую вы задаете в классе коллбэка. Если этот параметр пуст, генератор кода использует свои собственные алгоритмы для функций БПФ вместо того, чтобы вызвать библиотеку FFTW.
CustomHeaderCode
— Пользовательский код, который появляется наверху сгенерированных заголовочных файлов C/C++Пользовательский код, который появляется около верхней части каждого заголовочного файла C/C++, сгенерированного из вашего кода MATLAB, кроме rtwtypes.h
и rtwhalf.h
В виде вектора символов.
CustomInclude
— Включайте папки, чтобы добавить, чтобы включать путь для компиляции сгенерированного кодаВключайте папки, чтобы добавить к включать пути при компиляции сгенерированного кода. Укажите, что список включает папки как массив строк, массив ячеек вектора символов или вектора символов.
Несколько имен папок в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Массив строк | Массив строк в |
Массив ячеек из символьных векторов | Массив ячеек из символьных векторов в |
Символьный вектор | Отдельный включают папки a Примечание Определение многократных въездов в объектах настройки кода при помощи векторов символов будет удалено в будущем релизе. Используйте массив строк и массив ячеек вектора символов вместо этого. Для получения дополнительной информации см. Вопросы совместимости. |
CustomInitializer
— Пользовательский код, чтобы включать в сгенерированное инициализирует функциюПользовательский код, чтобы включать в сгенерированное инициализирует функцию в виде вектора символов.
CustomLAPACKCallback
— Класс коллбэка LAPACKКласс коллбэка для библиотеки LAPACK вызывает в коде, сгенерированном для определенных функций линейной алгебры в коде MATLAB в виде вектора символов.
Если вы задаете класс коллбэка LAPACK для определенных функций линейной алгебры, генератор кода производит вызовы LAPACK при помощи интерфейса C LAPACKE к вашей библиотеке LAPACK. Класс коллбэка обеспечивает имя вашего заголовочного файла LAPACKE и информации, запрошенной, чтобы соединиться с вашей библиотекой LAPACK. Если этот параметр пуст, генератор кода производит код для функций линейной алгебры вместо вызова LAPACK.
Смотрите ускоряют линейную алгебру в сгенерированном автономном коде при помощи вызовов LAPACK.
CustomLibrary
— Статические файлы библиотеки, чтобы соединиться со сгенерированным кодомСтатические файлы библиотеки, чтобы соединиться со сгенерированным кодом в виде массива строк, массива ячеек вектора символов или вектора символов.
Несколько статических имен файлов библиотеки в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Массив строк | Массив строк в |
Массив ячеек из символьных векторов | Массив ячеек из символьных векторов в |
Символьный вектор | Разделите статические имена файлов библиотеки a Примечание Определение многократных въездов в объектах настройки кода при помощи векторов символов будет удалено в будущем релизе. Используйте массив строк и массив ячеек вектора символов вместо этого. Для получения дополнительной информации см. Вопросы совместимости. |
CustomSource
— Исходные файлы, чтобы скомпилировать и соединиться со сгенерированным кодомИсходные файлы, чтобы скомпилировать и соединиться со сгенерированным кодом в виде массива строк, массива ячеек вектора символов или вектора символов.
Процесс сборки ищет исходные файлы сначала в текущей папке, и затем во включать папках, которые вы задаете в CustomInclude
. Если исходные файлы с тем же именем происходят в нескольких папках на пути поиска файлов, процесс сборки может использовать различный файл, чем файл, который вы задали.
Предположим, что вы задаете foo.cpp
как исходный файл. Если foo.c
и foo.cpp
находятся оба на пути поиска файлов, вы не можете быть уверены, использует ли процесс сборки foo.c
или foo.cpp
.
Несколько имен исходного файла в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Массив строк | Массив строк в |
Массив ячеек из символьных векторов | Массив ячеек из символьных векторов в |
Символьный вектор | Отдельный исходный файл называет a Примечание Определение многократных въездов в объектах настройки кода при помощи векторов символов будет удалено в будущем релизе. Используйте массив строк и массив ячеек вектора символов вместо этого. Для получения дополнительной информации см. Вопросы совместимости. |
CustomSourceCode
— Код, чтобы появиться около верхней части сгенерированного .c
или .cpp
файлыУкажите, что код, чтобы появиться около верхней части каждого сгенерировал .c
или .cpp
файл (кроме rtwhalf.c
или rtwhalf.cpp
), за пределами любой функции. Задайте код как вектор символов.
Не задавайте статическое функциональное определение C.
CustomTerminator
— Код, который появляется в сгенерированной оконечной функции Код, который появляется в сгенерированной оконечной функции в виде вектора символов.
CustomToolchainOptions
— Пользовательские настройки для инструментов в выбранном наборе инструментальных средствПользовательские настройки для инструментов в выбранном наборе инструментальных средств в виде массива ячеек.
Зависимости:
Toolchain
свойство определяет, какие инструменты и опции появляются в массиве ячеек.
Установка BuildConfiguration
свойство к Specify
включает CustomToolchainOptions
.
Во-первых, получите текущие настройки. Например:
cfg = coder.config('lib'); cfg.BuildConfiguration='Specify'; opt = cfg.CustomToolchainOptions
Затем отредактируйте значения в opt
.
Эти значения выводят из файла определения набора инструментальных средств и сторонних параметров компилятора. Смотрите Пользовательскую Регистрацию Набора инструментальных средств.
DataTypeReplacement
— Замена типа данных в сгенерированном коде'CBuiltIn'
| 'CoderTypeDefs'
Замена типа данных в сгенерированном коде в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'CBuiltIn' | Это значение является значением по умолчанию. Генератор кода использует встроенные типы данных C. |
'CoderTypeDefs' | Генератор кода использует предопределенные типы данных от rtwtypes.h |
DeepLearningConfig
— Объект Configuration для генерации кода глубокого обученияcoder.MklDNNConfig
возразите | coder.ARMNEONConfig
возразите | coder.CuDNNConfig
возразите | coder.TensorRTConfig
объектОбъект Configuration для генерации кода для нейронных сетей для глубокого обучения в виде заданного как один из объектов в этой таблице.
Объект | Требует | Описание |
---|---|---|
coder.MklDNNConfig |
|
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn'); Смотрите генерацию кода для нейронных сетей для глубокого обучения с MKL-DNN. |
coder.ARMNEONConfig |
|
cfg = coder.config('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('arm-compute'); Смотрите, что генерация кода для нейронных сетей для глубокого обучения с ARM вычисляет библиотеку. |
coder.CuDNNConfig (GPU Coder) |
|
cfg = coder.gpuConfig('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn'); Смотрите Генерацию кода для Нейронных сетей для глубокого обучения при помощи cuDNN (GPU Coder). |
coder.TensorRTConfig (GPU Coder) |
|
cfg = coder.gpuConfig('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('tensorrt'); Смотрите генерацию кода для нейронных сетей для глубокого обучения при помощи TensorRT (GPU Coder). |
Зависимость: если DeepLearningConfig
установлен, codegen
наборы TargetLang
к C++
.
Description
— Описание объекта 'class CodeConfig: C code generation configuration.'
(значение по умолчанию) | вектор символовОписание объекта в виде вектора символов.
DynamicMemoryAllocation
— Режим динамического выделения памяти'Threshold'
(значение по умолчанию) | 'AllVariableSizeArrays'
| 'Off'
Режим динамического выделения памяти в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Threshold' | Это значение является значением по умолчанию. Генератор кода выделяет память динамически на куче для массивов переменного размера, размер которых (в байтах) больше или равен |
'AllVariableSizeArrays' | Генератор кода динамически выделяет память для всех массивов переменного размера на куче. |
'Off' | Генератор кода статически выделяет память для массивов переменного размера на стеке. |
Неограниченные массивы переменного размера требуют динамического выделения памяти.
Зависимости:
EnableVariableSizing
включает этот параметр.
Установка этого DynamicMemoryAllocation
к 'Threshold'
включает DynamicMemoryAllocationThreshold
параметр.
DynamicMemoryAllocationInterface
— Динамически выделенный массив в сгенерированном функциональном интерфейсе'Auto'
(значение по умолчанию) | 'C'
| 'C++'
Реализация динамически выделенного массива в интерфейсе сгенерированного C/C++ функционирует в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Auto' | Это - значение по умолчанию. Если вы устанавливаете |
'C' | Сгенерированный код использует стиль C |
'C++' | Если вы устанавливаете В противном случае сгенерированный код использует |
При использовании GPU Coder генератор кода всегда использует стиль C emxArray
структура данных.
Зависимость:
EnableVariableSizing
включает этот параметр.
DynamicMemoryAllocationThreshold
— Порог размера для динамического выделения памяти массивов переменного размера
(значение по умолчанию) | положительное целое числоПорог размера для динамического выделения памяти массивов переменного размера в виде положительного целого числа. Генератор кода использует динамическое выделение памяти для массивов переменного размера, размер которых (в байтах) больше или равен порогу.
Зависимость:
Установка DynamicMemoryAllocation
к 'Threshold'
включает этот параметр.
EnableAutoExtrinsicCalls
— Автоматические внешние вызовы функцииtrue
(значение по умолчанию) | false
Автоматические внешние вызовы функции в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода обрабатывает некоторые общие функции визуализации, когда значение внешних параметров функционирует. Вы не должны объявлять эти функции как значение внешних параметров при помощи |
false | Генератор кода не обрабатывает общие функции визуализации, когда значение внешних параметров функционирует, если вы не объявляете их как значение внешних параметров при помощи coder.extrinsic . |
Некоторые общие функции визуализации plot
, disp
, и figure
. Смотрите используют MATLAB Engine, чтобы выполнить вызов функции в сгенерированном коде.
EnableAutoParallelization
— Автоматическое распараллеливание for
циклыfalse
(значение по умолчанию) | true
Автоматическое распараллеливание for
циклы, столь же заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода автоматически не параллелизирует |
true | Генератор кода автоматически параллелизирует |
При использовании GPU Coder генератор кода всегда включает автоматическое распараллеливание for
циклы.
Типы данных: логический
EnableImplictExpansion
— Возможности неявного расширения в сгенерированном кодеtrue
(значение по умолчанию) | false
Возможности неявного расширения в сгенерированном коде в виде одного из значений перечислены в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода включает неявное расширение в сгенерированном коде. Генератор кода включает модификации в сгенерированный код, чтобы применить неявное расширение. Смотрите Совместимые Размеры Массивов для Основных Операций. |
false | Сгенерированный код не следует правилам неявного расширения. |
Типы данных: логический
EnableMemcpy
— memcpy
оптимизацияtrue
(значение по умолчанию) | false
memcpy
оптимизация в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Если возможно, генератор кода использует |
false | Генератор кода не использует |
При использовании GPU Coder генератор кода всегда отключает Memcpy
оптимизация.
EnableOpenMP
— Распараллеливание parfor
- циклыtrue
(значение по умолчанию) | false
Распараллеливание parfor
- циклы в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Если возможно, генератор кода пользуется библиотекой OpenMP, чтобы произвести итерации цикла, которые запускаются параллельно. |
false | Генератор кода обрабатывает |
Смотрите parfor
.
Использование библиотеки OpenMP не совместимо со своевременной (JIT) компиляцией. Если EnableJIT
и EnableOpenMP
true
, генератор кода использует JIT-компиляцию и обрабатывает parfor
- циклы как for
- циклы.
При использовании GPU Coder генератор кода всегда обрабатывает parfor
- циклы как for
- циклы.
EnableRuntimeRecursion
— Поддержка рекурсии во время выполненияtrue
(значение по умолчанию) | false
Поддержка рекурсии во время выполнения в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Рекурсивные функции позволены в сгенерированном коде. |
false | Рекурсивные функции не позволены в сгенерированном коде. |
Некоторые стандарты кодирования, такие как MISRA®, не позволяйте рекурсию. Увеличить вероятность генерации кода, который совместим с MISRA C®, установите EnableRuntimeRecursion
к false
.
Если ваш код MATLAB требует рекурсии во время выполнения и EnableRuntimeRecursion
false
, сбои генерации кода.
Смотрите генерацию кода для рекурсивных функций.
EnableVariableSizing
— Поддержка массивов переменного размераtrue
(значение по умолчанию) | false
Поддержка массивов переменного размера в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Массивы переменного размера позволены для генерации кода. |
false | Массивы переменного размера не позволены для генерации кода. |
Зависимость:
Включает Dynamic memory allocation
.
FilePartitionMethod
— Режим разделения файла'MapMFileToCFile'
(значение по умолчанию) | 'SingleFile'
Режим разделения файла, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'MapMFileToCFile' | Это значение является значением по умолчанию. Генератор кода производит отдельные файлы C/C++ для каждого файла языка MATLAB. |
'SingleFile' | Генератор кода производит один файл для функций C/C++, которые сопоставляют с вашими функциями точки входа MATLAB. Генератор кода производит отдельные файлы C/C++ для служебных функций. |
GenCodeOnly
— Генерация только исходного кодаfalse
(значение по умолчанию) | true
Генерация только исходного кода в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода производит исходный код C/C++ и создает объектный код. |
true | Генератор кода производит исходный код C/C++, но не вызывает сделать команду или создает объектный код. Когда вы выполняете итерации между изменением кода MATLAB, и генерация кода C/C++, генерируя только код может сэкономить время. |
GenerateComments
— Комментарии в сгенерированном коде true
(значение по умолчанию) | false
Комментарии в сгенерированном коде в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода помещает комментарии в сгенерированный код. |
false | Генератор кода не помещает комментарии в сгенерированный код. |
GenerateExampleMain
— Пример C/C++ основная генерация файла'GenerateCodeOnly'
(значение по умолчанию) | 'DoNotGenerate'
| 'GenerateCodeAndCompile'
Пример C/C++ основная генерация файла в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'GenerateCodeOnly' | Это значение является значением по умолчанию. Генератор кода генерирует пример C/C++ основная функция, но не компилирует его. |
'DoNotGenerate' | Генератор кода не генерирует пример C/C++ основная функция. |
'GenerateCodeAndCompile' | Генератор кода генерирует пример C/C++ основная функция и компилирует его, чтобы создать тестовый исполняемый файл. Этот исполняемый файл не возвращает выходной параметр. Если |
Основная функция примера является шаблоном, чтобы помочь вам записать C/C++ основную функцию, которая вызывает сгенерированный код C/C++. Смотрите Включают Сгенерированный код Используя Пример Основная Функция.
GenerateMakefile
— Генерация make-файлаtrue
(значение по умолчанию) | false
Генерация make-файла во время процесса сборки в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода генерирует make-файл во время процесса сборки. |
false | Генератор кода не генерирует make-файл во время процесса сборки. Задайте инструкции для обработки постгенерации кода, включая компиляцию и соединение, в команде постгенерации кода. Смотрите Индивидуальную настройку Процесса сборки. |
GenerateNonFiniteFilesIfUsed
— Сгенерируйте файлы поддержки для неличных данных, только если неличные данные используютсяtrue
(значение по умолчанию) | false
Генерация файлов поддержки для неличных данных в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит файлы поддержки для неличных данных ( |
false | Генератор кода всегда производит файлы поддержки для неличных данных ( |
Зависимость:
Установка SupportNonFinite
к true
включает этот параметр.
GenerateReport
— Отчет генерации кодаfalse
(значение по умолчанию) | верныйОтчет генерации кода в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода представляет отчет, только если сообщения об ошибке или предупреждающие сообщения происходят, или если вы устанавливаете |
true | Генератор кода представляет отчет генерации кода. |
Hardware
— Объект, который задает аппаратную плату coder.Hardware
объектОбъект, который задает аппаратную плату. Создать coder.Hardware
объект, используйте coder.hardware
. Например:
cfg = coder.config('lib'); hw = coder.hardware('Raspberry Pi'); cfg.Hardware = hw;
Прежде чем вы будете использовать coder.hardware
, необходимо установить пакет поддержки для оборудования.
Зависимости:
Установка Hardware
настраивает объект аппаратной реализации и другие параметры конфигурации для конкретной аппаратной платы.
Если DeepLearningConfig
установлен в coder.ARMNEONConfig
объект и Hardware
пусто, затем codegen
устанавливает GenCodeOnly
свойство к true
.
Примечание:
Предположим, что вы создаете coder.CodeConfig
объект cfg
в сеансе работы с MATLAB и использовании это в другом сеансе работы с MATLAB. Если хосту - компьютеру MATLAB для второго сеанса не задали аппаратную плату в cfg.Hardware
свойство установило на нем, этот параметр возвращается к своему значению по умолчанию. Значением по умолчанию является []
. Установка опции Hardware Board к MATLAB Host Computer
в приложении эквивалентно использованию cfg.Hardware
и cfg.HardwareImplementation.ProdHWDeviceType
с их значением по умолчанию.
HardwareImplementation
— Объект аппаратной реализацииcoder.HardwareImplementation
объект.Объект аппаратной реализации, который задает специфичные для оборудования параметры конфигурации для генерации кода C/C++. coder.config
создает coder.CodeConfig
объект с HardwareImplementation
набор свойств к coder.HardwareImplementation
объект со значениями параметров по умолчанию для хоста - компьютера MATLAB.
HeaderGuardStyle
— Стиль директивы препроцессору в сгенерированном коде'UseIncludeGuard'
(значение по умолчанию) | 'UsePragmaOnce'
Чтобы предотвратить ошибки компиляции из-за нескольких включение заголовочных файлов, генератор кода производит любой #ifndef
или #pragma once
построения в сгенерированных заголовочных файлах. Если ваш проект использует отличные файлы, которые используют те же макросы препроцессора, то генерируют код с #pragma once
создать. Поведение компиляции #pragma once
не стандартизирован.
Задайте HeaderGuardStyle
как одно из значений в этой таблице.
Значение | Описание |
---|---|
UseIncludeGuard | Генератор кода производит |
UsePragmaOnce | Генератор кода производит #pragma once разработайте #include защита. |
HighlightPotentialRowMajorIssues
— Потенциальные упорядоченные по строкам проблемы размещенияtrue
(значение по умолчанию) | false
Отображение потенциального упорядоченного по строкам КПД размещения выходит в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Отчет генерации кода отображает потенциальные проблемы КПД из-за упорядоченного по строкам размещения. (Это значение является значением по умолчанию.) |
false | Отчет генерации кода не отображает проблемы, связанные с размещением массивов. |
См. проект кода для упорядоченного по строкам размещения массивов.
InitFltsAndDblsToZero
— Присвоение плавания и дважды обнуляет с memset true
(значение по умолчанию) | false
Присвоение плавания и дважды обнуляет с memset
В виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Если возможно, генератор кода использует |
false | Генератор кода не использует |
InlineBetweenMathWorksFunctions
— Управляйте встраиванием между функциями MathWorks'Speed'
(значение по умолчанию) | 'Always'
| 'Readability'
| 'Never'
Встраивание поведения на всех сайтах вызова, где MathWorks вызывает другую функцию MathWorks в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Speed' | Это значение является значением по умолчанию. Использует внутреннюю эвристику, чтобы определить, выполнить ли встраивание на сайте вызова. Эта установка обычно приводит к очень оптимизированному коду. |
'Always' | Всегда выполняет встраивание на сайте вызова. |
'Readability' | Почти никогда не встраивает вызовы функции, за исключением вызовов очень небольших функций. Модульный принцип консервов кода, не жертвуя слишком большой скоростью, когда это возможно. Результаты в очень читаемом коде. |
'Never' | Никогда не встраивает вызовы функции. Результаты в максимальной удобочитаемости. Эта установка может значительно уменьшать эффективность сгенерированного кода. |
Даже если вы выбираете 'Always'
или 'Never'
опция для установки, в определенных случаях, генератор кода не может строго следовать тем инструкциям. Например, если существует конфликт, coder.inline('always')
или coder.inline('never')
директива, помещенная в теле функции, заменяет эту опцию. Для получения дополнительной информации смотрите Взаимодействие Между Различными Средствами управления Встраиванием.
Смотрите, что управление встраивает, чтобы подстроить эффективность и удобочитаемость сгенерированного кода.
InlineBetweenUserAndMathWorksFunctions
— Управляйте встраиванием между написанными пользователем функциями и функциями MathWorks'Speed'
(значение по умолчанию) | 'Always'
| 'Readability'
| 'Never'
Встраивание поведения на всех сайтах вызова, где функция, которую вы записали, вызывает функцию MathWorks или MathWorks вызовы функции функция, которую вы записали. Заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Speed' | Это значение является значением по умолчанию. Использует внутреннюю эвристику, чтобы определить, выполнить ли встраивание на сайте вызова. Эта установка обычно приводит к очень оптимизированному коду. |
'Always' | Всегда выполняет встраивание на сайте вызова. |
'Readability' | Почти никогда не встраивает вызовы функции, за исключением вызовов очень небольших функций. Модульный принцип консервов кода, не жертвуя слишком большой скоростью, когда это возможно. Результаты в очень читаемом коде. |
'Never' | Никогда не встраивает вызовы функции. Результаты в максимальной удобочитаемости. Эта установка может значительно уменьшать эффективность сгенерированного кода. |
Даже если вы выбираете 'Always'
или 'Never'
опция для установки, в определенных случаях, генератор кода не может строго следовать тем инструкциям. Например, если существует конфликт, coder.inline('always')
или coder.inline('never')
директива, помещенная в теле функции, заменяет эту опцию. Для получения дополнительной информации смотрите Взаимодействие Между Различными Средствами управления Встраиванием.
Смотрите, что управление встраивает, чтобы подстроить эффективность и удобочитаемость сгенерированного кода.
InlineBetweenUserFunctions
— Управляйте встраиванием между написанными пользователем функциями'Speed'
(значение по умолчанию) | 'Always'
| 'Readability'
| 'Never'
Встраивание поведения на всех сайтах вызова, где функция, которую вы записали, вызывает другую функцию, которую вы записали в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Speed' | Это значение является значением по умолчанию. Использует внутреннюю эвристику, чтобы определить, выполнить ли встраивание на сайте вызова. Эта установка обычно приводит к очень оптимизированному коду. |
'Always' | Всегда выполняет встраивание на сайте вызова. |
'Readability' | Почти никогда не встраивает вызовы функции, за исключением вызовов очень небольших функций. Модульный принцип консервов кода, не жертвуя слишком большой скоростью, когда это возможно. Результаты в очень читаемом коде. |
'Never' | Никогда не встраивает вызовы функции. Результаты в максимальной удобочитаемости. Эта установка может значительно уменьшать эффективность сгенерированного кода. |
Даже если вы выбираете 'Always'
или 'Never'
опция для установки, в определенных случаях, генератор кода не может строго следовать тем инструкциям. Например, если существует конфликт, coder.inline('always')
или coder.inline('never')
директива, помещенная в теле функции, заменяет эту опцию. Для получения дополнительной информации смотрите Взаимодействие Между Различными Средствами управления Встраиванием.
Смотрите, что управление встраивает, чтобы подстроить эффективность и удобочитаемость сгенерированного кода.
InstructionSetExtensions
— Система команд SIMD для целевого компьютера'None'
(значение по умолчанию) | 'SSE'
| 'SSE2'
| 'SSE4.1'
| 'AVX'
| 'AVX2'
| 'FMA'
| 'AVX512F'
Системы команд, чтобы сгенерировать одну инструкцию, несколько данных (SIMD) код для целевого компьютера. Этот список показывает зависимость систем команд, где каждая система команд зависит от систем команд, которые предшествуют ему. Генератор кода загружает выбранную систему команд и системы команд, от которых это зависит. Например, если вы выбираете AVX
, генератор кода загружает AVX
, SSE4.1
, SSE2
, и SSE
.
Смотрите генерируют код SIMD для функций MATLAB.
При использовании GPU Coder генератор кода всегда отключает InstructionSetExtensions
.
LaunchReport
— Автоматический открытый из отчета генерации кодаfalse
(значение по умолчанию) | верныйАвтоматический открытый из генерации кода сообщают в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Если ошибки или предупреждения происходят, или если |
true | Генератор кода производит и открывает отчет генерации кода. |
LoopUnrollThreshold
— Порог на количестве итераций, которое определяет, развернуть ли автоматически for
- цикл или parfor
- циклЦиклы с меньшим количеством итераций, чем этот порог являются кандидатами на автоматическое разворачивание генератором кода. Этот порог применяется ко всему for
- циклы и parfor
- циклы в вашем коде MATLAB. Для отдельного for
- цикл, a coder.unroll
директива, помещенная сразу перед циклом, более приоритетна по сравнению с оптимизацией развертывания цикла. Порог может также примениться к некоторому for
- циклы производятся во время генерации кода.
Смотрите Разворачивают циклы for и циклы parfor.
MATLABSourceComments
— Включение исходного кода MATLAB как комментарии в сгенерированном коде false
(значение по умолчанию) | true
Включение исходного кода MATLAB как комментарии в сгенерированном коде в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода не вставляет исходный код MATLAB как комментарии в сгенерированном коде. Генератор кода не включает подпись функции MATLAB в функциональный баннер. |
true | Генератор кода вставляет исходный код MATLAB как комментарии в сгенерированном коде. Тег трассируемости сразу предшествует каждой линии исходного кода. Тег трассируемости помогает вам определить местоположение соответствующего исходного кода MATLAB. Смотрите Трассировку Сгенерированный Код C/C++ к Исходному коду MATLAB. Если у вас есть Embedded Coder в отчете генерации кода, тег трассируемости соединяется с исходным кодом. Генератор кода также включает подпись функции MATLAB в функциональный баннер. |
Зависимость:
GenerateComments
включает этот параметр.
Смотрите Трассировку Сгенерированный Код C/C++ к Исходному коду MATLAB.
MaxIdLength
— Максимальное количество символов в сгенерированных идентификаторах
| 1024
| положительное целое числоМаксимальное количество символов в сгенерированных идентификаторах в виде положительного целого числа в области значений [31, 2048]. Это свойство применяется к сгенерированной функции, введите определение и имена переменных. Чтобы избежать усечения идентификаторов целевым компилятором C/C++, задайте значение, которое совпадает с максимальной длиной идентификатора целевого компилятора C/C++.
Это свойство не применяется к экспортируемым идентификаторам, таким как сгенерированные имена для функций точки входа или emxArray API-функций. Если длина экспортируемого идентификатора превышает максимальную длину идентификатора целевого компилятора C, целевой компилятор C/C++ обрезает экспортируемый идентификатор.
Значения по умолчанию:
Если TargetLang
установлен в 'C'
, значение по умолчанию MaxIdLength
31
.
Если TargetLang
установлен в 'C++'
, значение по умолчанию MaxIdLength
1024
.
MemcpyThreshold
— Минимальный размер для memcpy
или memset
оптимизация Минимальный размер, в байтах, для memcpy или memset оптимизации в виде положительного целого числа.
Чтобы оптимизировать сгенерированный код, который копирует последовательные элементы массива, генератор кода пытается заменить код на memcpy
вызвать. Чтобы оптимизировать сгенерированный код, который присваивает литеральную константу последовательным элементам массива, генератор кода пытается заменить код на memset
вызвать.
Количество байтов является количеством элементов массива, чтобы скопировать или присвоить умноженный на количество байтов, требуемых для типа данных C/C++.
Если число элементов, чтобы скопировать или присвоить является переменным (не известный во время компиляции), генератор кода игнорирует MemcpyThreshold
свойство.
MultiInstanceCode
— Мультиэкземпляр, повторно используемый кодfalse
(значение по умолчанию) | true
Мультиэкземпляр, повторно используемый код в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода не производит мультиэкземпляр, повторно используемый код. |
true | Генератор кода производит допускающий повторное использование, код мультиэкземпляра, который повторно используем. |
См. повторно используемый код.
Эта опция не поддерживается продуктом GPU Coder.
Name
— Имя объекта'CodeConfig'
(значение по умолчанию) | вектор символовИмя объекта в виде вектора символов.
NumberOfCpuThreads
— Максимальное количество потоков ЦП, чтобы идти параллельно циклы forМаксимальное количество потоков ЦП, чтобы идти параллельно for
- циклы в сгенерированном коде C/C++ в виде положительного целого числа.
Смотрите задают максимальное количество потоков, чтобы идти параллельно циклы for в сгенерированном коде.
OutputType
— Выведите, чтобы создать из сгенерированного кода C/C++'LIB'
| 'DLL'
| 'EXE'
Выведите, чтобы создать из сгенерированного кода C/C++ в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'LIB' | Статическая библиотека |
'DLL' | Динамически подключаемая библиотека |
'EXE' | Исполняемая программа |
PassStructByReference
— Передайте структуры ссылкойtrue
(значение по умолчанию) | false
Передайте структуры в отношении функций точки входа в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Сгенерированный код передает структуры ссылкой, которая уменьшает использование памяти и время выполнения путем минимизации количества копий параметров на контурах функции точки входа. Примечание Функция точки входа, которая пишет в поле параметра структуры, перезаписывает входное значение.
|
false | Сгенерированный код передает структуры значением. |
Этот параметр применяется только к функциям точки входа.
Смотрите аргументы структуры передачи ссылкой или значением в сгенерированном коде.
PostCodeGenCommand
— Команда, чтобы настроить обработку сборки''
(значение по умолчанию) | вектор символовКоманда, чтобы настроить сборку, обрабатывающую после генерации MEX-функции с codegen
В виде вектора символов.
Смотрите индивидуальную настройку процесса сборки.
PreserveArrayDimensions
— N-мерная индексацияfalse
(значение по умолчанию) | true
Генерация кода, который использует N-мерную индексацию в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Сгенерируйте код, который использует одномерную индексацию. (Это значение является значением по умолчанию.) |
true | Сгенерируйте код, который использует N-мерную индексацию. |
Смотрите генерируют код, который использует n-мерную индексацию.
PreserveVariableNames
— Имена переменных, чтобы сохранить в сгенерированном коде'None'
(значение по умолчанию) | 'UserNames'
| 'All'
Имена переменных, чтобы сохранить в сгенерированном коде в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'None' | Это значение является значением по умолчанию. Генератор кода не должен сохранять имена переменных. Это может снова использовать любые переменные, которые удовлетворяют требования для переменного повторного использования. Если ваш код использует большие структуры или массивы, установку |
'UserNames' | Генератор кода сохраняет имена, которые соответствуют переменным, которые вы задаете в коде MATLAB. Это не заменяет ваше имя переменной на другое имя и не использует ваше имя для другой переменной. Чтобы улучшить удобочитаемость, установите Установка |
'All' | Сохраните все имена переменных. Это значение параметров отключает переменное повторное использование. Используйте его только для тестирования или отладки, не для производственного кода. |
Смотрите имена переменных заповедника в сгенерированном коде.
ReportInfoVarName
— Имя переменных, содержащих генерацию кода, сообщает информацию''
(значение по умолчанию) | вектор символовИмя переменной, в которую вы экспортируете информацию о генерации кода в виде вектора символов. Генератор кода создает эту переменную в основном рабочем пространстве MATLAB. Эта переменная содержит информацию о настройках генерации кода, входных файлах, сгенерированных файлах и сообщениях генерации кода.
Смотрите, что Генерация Кода доступа Сообщает информацию Программно и coder.ReportInfo Свойства.
ReportPotentialDifferences
Создание отчетов о потенциальных различияхtrue
(значение по умолчанию) | false
Разность потенциалов, сообщающая в виде одного из значений в этой таблице:
Значение | Описание |
---|---|
true | Генератор кода сообщает о потенциальных различиях в поведении между сгенерированным кодом и кодом MATLAB. Разности потенциалов перечислены на вкладке отчета генерации кода. Разность потенциалов является различием, которое происходит во время выполнения только при определенных обстоятельствах. |
false | Генератор кода не сообщает о разностях потенциалов. |
Смотрите, что разности потенциалов сообщают.
ReservedNameArray
— Имена, которые генератор кода не должен использовать для функций или переменных''
(значение по умолчанию) | массив строк | массив ячеек из символьных векторов | вектор символовСписок имен, которые генератор кода не должен использовать для функций или переменных в виде строковые массивы, массив ячеек из символьных векторов или вектор символов.
Несколько зарезервированных имен в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Массивы строк | Массив строк в |
Массив ячеек из символьных векторов | Массив ячеек из символьных векторов в |
Векторы символов | Разделенный от точки с запятой список зарезервированных имен в Примечание Определение многократных въездов в объектах настройки кода при помощи векторов символов будет удалено в будущем релизе. Используйте массив строк и массив ячеек вектора символов вместо этого. Для получения дополнительной информации см. Вопросы совместимости. |
RowMajor
— Упорядоченное по строкам размещение массивовfalse
(значение по умолчанию) | true
Генерация кода, который использует упорядоченное по строкам размещение массивов в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Сгенерируйте код, который использует упорядоченное по столбцам размещение массивов. (Это значение является значением по умолчанию.) |
true | Сгенерируйте код, который использует упорядоченное по строкам размещение массивов. |
Смотрите генерируют код, который использует упорядоченное по строкам размещение массивов.
RunInitializeFcn
— Автоматически запустите инициализировать функциюГенерация вызова инициализировать функции в начале сгенерированной точки входа функционирует в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Вызов инициализировать функции включен в начале сгенерированных функций точки входа. Сгенерированный код включает проверки, чтобы убедиться, что инициализировать функция вызвана только однажды, даже если существует несколько функций точки входа. |
false | Сгенерированные функции точки входа не включают вызовы инициализировать функции. |
Смотрите, что сгенерированное использование инициализирует и отключает функции.
Зависимость:
Установка MultiInstanceCode
к true
отключает этот параметр.
RuntimeChecks
— Обнаружение ошибки времени выполнения и сообщающий в сгенерированном кодеfalse
(значение по умолчанию) | true
Обнаружение ошибки времени выполнения и сообщающий в сгенерированном коде в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Сгенерированный код не проверяет ошибки в таком как за пределы индексация массива. |
true | Сгенерированный код проверяет ошибки в таком как за пределы индексация массива. Программное обеспечение сообщения об ошибке использует Сообщения об ошибке находятся на английском языке. |
Смотрите Генерируют Автономный Код C/C++, Который Обнаруживает и Сообщает об Ошибках времени выполнения.
SaturateOnIntegerOverflow
— Поддержка целочисленного переполненияtrue
(значение по умолчанию) | false
Поддержка целочисленного переполнения в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит код, чтобы обработать целочисленное переполнение. Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
false | Генератор кода не производит код, чтобы обработать целочисленное переполнение. Не устанавливайте |
Этот параметр применяет только к MATLAB встроенные целочисленные типы. Это не применяется, удваивается, одиночные игры или типы данных с фиксированной точкой.
Смотрите отключают поддержку Integer Overflow или Nonfinites.
StackUsageMax
— Максимальное использование стека на приложение
(значение по умолчанию) | положительное целое числоМаксимальное использование стека на приложение, в байтах в виде положительного целого числа. Установите предел, который ниже, чем доступный размер стека. В противном случае переполнение стека этапа выполнения может произойти. Компилятор C обнаруживает и сообщает о переполнениях стека.
Смотрите отключают поддержку Integer Overflow или Nonfinites.
SupportNonFinite
— Поддержка неличных значенийtrue
(значение по умолчанию) | false
Поддержка неличных значений в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Если Если |
false | Генератор кода не производит код, чтобы поддержать неличные значения. |
Смотрите отключают поддержку Integer Overflow или Nonfinites.
TargetLang
— Язык, чтобы использовать в сгенерированном коде'C'
(значение по умолчанию) | 'C++'
Язык, чтобы использовать в сгенерированном коде в виде 'C'
или 'C++'
. Если вы задаете C++, генератор кода переносит код С в .cpp файлы так, чтобы можно было использовать компилятор C++ и интерфейс с внешними приложениями C++. Это не генерирует классы C++.
При использовании GPU Coder генератор кода устанавливает TargetLang
к C++
.
Зависимость: если DeepLearningConfig
установлен, codegen
наборы TargetLang
к C++
.
TargetLangStandard
— Стандарт языка, чтобы использовать для сгенерированного кода'Auto'
(значение по умолчанию) | 'C89/C90 (ANSI)'
| 'C99 (ISO)'
| 'C++03 (ISO)'
| 'C++11 (ISO)'
'Auto'
опция использует TargetLang
установка, чтобы выбрать, который стандарт языка использовать для сгенерированного кода. Стандарт языка по умолчанию зависит от языка, который вы выбираете. Для C библиотекой по умолчанию является 'C99 (ISO)'
. Для C++ библиотекой по умолчанию является 'C++11 (ISO)'
.
Стандарты языка, чтобы использовать для сгенерированного кода в виде одного из этих векторов символов:
'C89/C90 (ANSI)'
'C99 (ISO)'
'C++03 (ISO)'
'C++11 (ISO)'
Генератор кода пользуется стандартной библиотекой для вызовов математики и других операций.
Смотрите изменяют стандарт языка.
Toolchain
— Набор инструментальных средств, чтобы использовать для создания C/C++ библиотечную или исполняемую программу'Automatically locate an installed toolchain'
(значение по умолчанию) | вектор символовНабор инструментальных средств, чтобы использовать для создания C/C++ библиотечную или исполняемую программу в виде вектора символов. Список доступных наборов инструментальных средств зависит от платформы хоста - компьютера и может включать пользовательские наборы инструментальных средств, которые вы добавили. Если вы не задаете набор инструментальных средств, генератор кода определяет местоположение установленного набора инструментальных средств.
Примечание:
Предположим, что вы создаете coder.CodeConfig
объект cfg
в сеансе работы с MATLAB и использовании это в другом сеансе работы с MATLAB. Если хосту - компьютеру MATLAB для второго сеанса не задали набор инструментальных средств в cfg.Toolchain
свойство установило на нем, этот параметр возвращается к своему значению по умолчанию. Значением по умолчанию является 'Automatically locate an installed toolchain'
.
Verbose
— Отображение прогресса генерации кода (чтобы быть удаленным)true
Прогресс генерации кода отображается в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода не отображает прогресс генерации кода. |
true | Генератор кода отображает прогресс генерации кода, включая этапы генерации кода и выход компилятора. |
Verbosity
— Отображение прогресса генерации кода'Info'
(значение по умолчанию) | 'Silent'
| 'Verbose'
Отобразиться ли, состояние генерации кода прогрессируют в командной строке MATLAB в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'Silent' | Если генерация кода успешно выполняется без предупреждения, все сообщения подавлены, включая то, когда вы генерируете отчет. Предупреждающие сообщения и сообщения об ошибке отображены. |
'Info' | Это значение является значением по умолчанию. По сравнению с
|
'Verbose' | В дополнение к сообщениям, показанным в |
Запишите функцию MATLAB, от которой можно сгенерировать код. Этот пример использует функцию myadd
это возвращает сумму его входных параметров.
function c = myadd(a,b) c = a + b; end
Создайте объект настройки для генерации автономного кода C/C++ (статическая библиотека, динамически подключаемая библиотека или исполняемая программа). Например, создайте объект настройки для генерации статической библиотеки.
cfg = coder.config('lib');
Измените значения свойств, для которых вы не хотите использовать значения по умолчанию. Например, включите обнаружение ошибки времени выполнения и сообщающий в сгенерированном коде C/C++.
cfg.RuntimeChecks = true;
Сгенерируйте код при помощи codegen
. Передайте объект настройки codegen
при помощи -config
опция. Укажите, что входные параметры являются скаляром дважды.
codegen myadd -config cfg -args {1 1} -report
Использовать параметры конфигурации по умолчанию для сборки вводит 'LIB'
, 'DLL'
, или 'EXE'
, используйте codegen
опция -config:lib
, -config:dll
, или -config:exe
, соответственно. Затем вы не должны создать и передать объект настройки codegen
.
Изменение поведения в будущем релизе
В будущем релизе, задавая несколько имен файлов, пути или зарезервированные имена в настройке кода возражают при помощи векторов символов или строковых скаляров, которые имеют разделители, будет удален. Используйте строковые массивы и массив ячеек вектора символов вместо этого. Например, чтобы включать несколько имен папок, можно использовать любого массив строк в CustomInclude
как cfg.CustomInclude = ["C:\Project","C:\Custom Files"];
или массив ячеек из символьных векторов как cfg.CustomInclude = {'C:\Project','C:\Custom Files'};
включать путь для компиляции сгенерированного кода.
Verbose
Свойство, которое будет удаленоИзменение поведения в будущем релизе
В будущем релизе, Verbose
свойство будет удалено.
Чтобы сконфигурировать отображение прогресса генерации кода, используйте Verbosity
свойство.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.