Параметры конфигурации для генерации кода C/C + + из кода MATLAB
A coder.CodeConfig
объект содержит параметры конфигурации, которые codegen
использует для генерации статической библиотеки, динамически связанной библиотеки или исполняемой программы. Передайте объект в codegen
функция при помощи -config
опция.
cfg = coder.config(
создает объект строения генерации кода для заданного типа сборки, который может быть статической библиотекой, динамически связанной библиотекой или исполняемой программой. Если Embedded Coder® продукт не установлен, он создает build_type
)coder.CodeConfig
объект. В противном случае создается coder.EmbeddedCodeConfig
объект.
cfg = coder.config(
создает build_type
,
'ecoder', false)coder.CodeConfig
объект для заданного типа выхода, даже если установлен Embedded Coder.
build_type
- Выход для сборки из сгенерированного кода C/C + +'LIB'
| 'DLL'
| 'EXE'
Выход для сборки из сгенерированного кода C/C + +, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'LIB' | Статическая библиотека |
'DLL' | Динамически связанная библиотека |
'EXE' | Исполняемая программа |
BuildConfiguration
- Настройки оптимизации или отладки компилятора для набора инструментальных средств'Faster Runs'
(по умолчанию) | 'Faster Builds'
| 'Debug'
| 'Specify'
Настройки оптимизации или отладки компилятора для набора инструментальных средств, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Faster Builds' |
Оптимизирует сборку для меньших времен сборки. |
'Faster Runs' |
Оптимизирует сборку для более быстрого выполнения исполняемых файлов. |
'Debug' |
Оптимизирует сборку для отладки. |
'Specify' |
Включает |
CodeFormattingTool
- Инструмент форматирования для сгенерированного кода'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++'
включает этот параметр.
Типы данных: logical
CppNamespace
- Имя пространства имен для сгенерированного кода С++''
(по умолчанию) | вектор символовПространство имен для сгенерированного кода С++. Генератор кода не производит код в пространстве имен, если вы не задаете непустой вектор символов.
См. «Организация сгенерированного кода С++ в пространства имен».
Зависимости:
Настройка TargetLang
на 'C++'
включает этот параметр.
CppNamespaceForMathworksCode
- Поместите код C++, сгенерированный для кода MathWorks, в отдельное пространство имен'coder'
(по умолчанию) | вектор символовПространство имен для кода С++, сгенерированного для кода MathWorks. Генератор кода не производит такое пространство имен, если вы задаете это свойство как пустой символьный вектор.
См. «Организация сгенерированного кода С++ в пространства имен».
Зависимости:
Настройка TargetLang
на 'C++'
включает этот параметр.
Типы данных: char
CppPreserveClasses
- Сгенерируйте классы C++ для классов MATLABtrue
(по умолчанию) | false
Сгенерировать ли классы C++ или структуры стиля C для классов MATLAB в качестве одного из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит классы C++ для классов MATLAB. Смотрите Сгенерировать классы C++ для классов MATLAB. |
false | Генератор кода создает структуры стиля C для классов MATLAB. |
Зависимости:
Настройка TargetLang
на 'C++'
включает этот параметр.
Типы данных: logical
CustomBLASCallback
- класс коллбэка BLASКласс коллбэка для вызовов библиотеки BLAS в коде, сгенерированном для некоторых низкоуровневых векторных и матричных операций в коде MATLAB, заданном как вектор символов.
Если вы задаете класс коллбэка BLAS, для некоторых низкоуровневых векторных и матричных функций генератор кода производит вызовы BLAS с помощью интерфейса CBLAS C к библиотеке BLAS. Класс коллбэка содержит имя файла заголовка CBLAS, имена типов данных CBLAS и информацию, необходимую для связи с библиотекой BLAS. Если этот параметр пуст, генератор кода производит код для матричных функций вместо вызова BLAS.
См. раздел «Ускорение матричных операций в сгенерированном автономном коде при помощи вызовов BLAS».
CustomFFTCallback
- Класс коллбэка для вызовов библиотеки FFTW Класс коллбэка для вызовов библиотеки FFTW в коде, сгенерированном для функций FFT в коде MATLAB, заданном как вектор символов.
Чтобы улучшить скорость выполнения функций FFT, генератор кода производит вызовы в библиотеку FFTW, которые вы задаете в классе коллбэка. Если этот параметр пуст, генератор кода использует собственные алгоритмы для функций FFT вместо вызова библиотеки FFTW.
CustomHeaderCode
- Пользовательский код, который появляется в верхней части сгенерированных файлов заголовка C/C + +Пользовательский код, который появляется в верхней части каждого файла заголовка C/C + +, сгенерированного из вашего кода MATLAB, кроме rtwtypes.h
и rtwhalf.h
, заданный как вектор символов.
CustomInclude
- Включите папки, чтобы добавить путь для компиляции сгенерированного кодаВключите папки, чтобы добавить к пути включения при компиляции сгенерированного кода. Задайте список включаемых папок как строковые массивы, массив ячеек с вектором символов или вектор символов.
Несколько имен папок, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
Строковые массивы | Строковые массивы в |
Массив ячеек из символьных векторов | Массив ячеек из векторов символов в |
Вектор символов | Отдельное включение папок a Примечание Установка нескольких записей в объектах строения кода с помощью векторов символов будет удалена в следующем релизе. Вместо этого используйте строковые массивы и массив ячеек из вектора символов. Для получения дополнительной информации см. раздел Вопросов совместимости. |
CustomInitializer
- Пользовательский код для включения в сгенерированную функцию инициализацииПользовательский код для включения в сгенерированную функцию инициализации, заданную как вектор символов.
CustomLAPACKCallback
- класс коллбэка LAPACKКласс коллбэка для вызовов библиотеки LAPACK в коде, сгенерированном для некоторых функций линейной алгебры в коде MATLAB, заданном как вектор символов.
Если вы задаете класс коллбэка LAPACK, для определенных функций линейной алгебры генератор кода производит вызовы LAPACK с помощью интерфейса LAPACKE C к вашей библиотеке LAPACK. Класс коллбэка содержит имя файла заголовка LAPACKE и информацию, необходимую для связи с библиотекой LAPACK. Если этот параметр пуст, генератор кода производит код для линейных алгебраических функций вместо вызова LAPACK.
Смотрите Ускорение Увеличения Линейной Алгебры в Сгенерированном Автономном Коде При Помощи Вызовов LAPACK.
CustomLibrary
- Статические файлы библиотеки для связи с сгенерированным кодомСтатические файлы библиотеки для связи с сгенерированным кодом, заданные как строковые массивы, массив ячеек с вектором символов или вектор символов.
Несколько статических имен файлов библиотеки, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
Строковые массивы | Строковые массивы в |
Массив ячеек из символьных векторов | Массив ячеек из векторов символов в |
Вектор символов | Разделите имена файлов статических библиотек на Примечание Установка нескольких записей в объектах строения кода с помощью векторов символов будет удалена в следующем релизе. Вместо этого используйте строковые массивы и массив ячеек из вектора символов. Для получения дополнительной информации см. раздел Вопросов совместимости. |
CustomSource
- Исходные файлы для компиляции и связи с сгенерированным кодомИсходные файлы для компиляции и связи с сгенерированным кодом, заданные как строковые массивы, массив ячеек из вектора символов или вектора символов.
Процесс сборки ищет исходные файлы сначала в текущей папке, а затем в папках включения, которые вы задаете в CustomInclude
. Если исходные файлы с таким же именем находятся в нескольких папках в пути поиска файлов, процесс сборки может использовать файл, отличный от указанного.
Предположим, что вы задаете foo.cpp
как исходный файл. Если foo.c
и foo.cpp
оба указаны в пути поиска файлов, вы не можете быть уверены, использует ли процесс сборки foo.c
или foo.cpp
.
Несколько имен исходных файлов, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
Строковые массивы | Строковые массивы в |
Массив ячеек из символьных векторов | Массив ячеек из векторов символов в |
Вектор символов | Разделите имена исходных файлов на Примечание Установка нескольких записей в объектах строения кода с помощью векторов символов будет удалена в следующем релизе. Вместо этого используйте строковые массивы и массив ячеек из вектора символов. Для получения дополнительной информации см. раздел Вопросов совместимости. |
CustomSourceCode
- Код, который появится в верхней части сгенерированных .c
или .cpp
файлыУкажите код, который будет отображаться в верхней части каждого сгенерированного .c
или .cpp
файл (кроме rtwhalf.c
или rtwhalf.cpp
), вне любой функции. Задайте код как вектор символов.
Не задайте определение статической функции на С.
CustomTerminator
- Код, который появляется в сгенерированной функции завершения Код, который появляется в сгенерированной функции завершения, заданный как вектор символов.
CustomToolchainOptions
- Пользовательские настройки для инструментов в выбранной наборе инструментальных средствПользовательские настройки для инструментов в выбранном наборе инструментальных средств, заданные как массив ячеек.
Зависимости:
The Toolchain
свойство определяет, какие инструменты и опции появляются в массиве ячеек.
Установка BuildConfiguration
свойство к Specify
включает CustomToolchainOptions
.
Сначала получите текущие настройки. Для примера:
cfg = coder.config('lib'); cfg.BuildConfiguration='Specify'; opt = cfg.CustomToolchainOptions
Затем отредактируйте значения в opt
.
Эти значения получают из файла определения набора инструментальных средств и опций стороннего компилятора. См. Раздел «Регистрация пользовательского набора инструментальных средств»
DataTypeReplacement
- Замена типа данных в сгенерированном коде'CBuiltIn'
| 'CoderTypeDefs'
Замена типа данных в сгенерированном коде, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
'CBuiltIn' |
Это значение является значением по умолчанию. Генератор кода использует встроенные типы данных C. |
'CoderTypeDefs' | Генератор кода использует предопределенные типы данных из rtwtypes.h |
DeepLearningConfig
- Объект строения для генерации кода глубокого обученияcoder.MklDNNConfig
| объекта coder.ARMNEONConfig
объектСтроение объект для генерации кода для нейронных сетей для глубокого обучения, заданный как coder.MklDNNConfig
объект или coder.ARMNEONConfig
объект.
A coder.MklDNNConfig
объект содержит параметры, характерные для генерации кода С++ для глубокого обучения с использованием Intel® MKL-DNN. Как создать coder.MklDNNConfig
объект, использование coder.DeepLearningConfig
. Для примера:
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');
A coder.ARMNEONConfig
объект содержит параметры, специфичные для генерации кода С++ для глубокого обучения с использованием ARM® Вычислите библиотеку. Как создать coder.ARMNEONConfig
объект, использование coder.DeepLearningConfig
. Для примера:
cfg = coder.config('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('arm-compute');
Для генерации кода для нейронных сетей для глубокого обучения требуются Deep Learning Toolbox™ и пакет поддержки MATLAB Coder Interface for Deep Learning Libraries.
Смотрите Генерацию кода для нейронных сетей для глубокого обучения с MKL-DNN и Генерацию кода для нейронных сетей для глубокого обучения с ARM Compute Library.
Зависимости: Если 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++' | Если вы задаете В противном случае сгенерированный код использует |
Зависимости:
EnableVariableSizing
включает этот параметр.
DynamicMemoryAllocationThreshold
- Порог размера для динамического выделения памяти массивов переменного размера65536
(по умолчанию) | положительное целое числоПорог размера для динамического выделения памяти массивов переменного размера, заданный как положительное целое число. Генератор кода использует динамическое выделение памяти для массивов переменного размера, размер которых (в байтах) больше или равен порогу.
Зависимости:
Настройка DynamicMemoryAllocation
на 'Threshold'
включает этот параметр.
EnableAutoExtrinsicCalls
- Автоматические вызовы внешних функцийtrue
(по умолчанию) | false
Автоматические вызовы внешних функций в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Генератор кода обрабатывает некоторые общие функции визуализации как внешние функции. Вы не должны объявлять эти функции как внешние при помощи |
false | Генератор кода не рассматривает общие функции визуализации как внешние функции, если вы не объявляете их внешними coder.extrinsic . |
Некоторые общие функции визуализации plot
, disp
, и figure
. Смотрите Использование MATLAB Engine для выполнения вызова функции в сгенерированном коде.
EnableAutoParallelization
- Автоматическая параллелизация for
циклыfalse
(по умолчанию) | true
Автоматическая параллелизация for
циклы, заданные в качестве одного из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода не параллелизирует автоматически |
true | Генератор кода автоматически параллелизирует |
Типы данных: logical
EnableMemcpy
— memcpy
оптимизацияtrue
(по умолчанию) | false
memcpy
оптимизация, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. При возможности генератор кода использует |
false |
Генератор кода не использует |
EnableOpenMP
- Параллелизация parfor
- циклыtrue
(по умолчанию) | false
Параллелизация parfor
-циклы, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Если это возможно, генератор кода использует библиотеку OpenMP, чтобы создать итерации цикла, которые выполняются параллельно. |
false |
Генератор кода обрабатывает |
Посмотрите parfor
.
Использование библиотеки OpenMP несовместимо с JIT-компиляцией. Если EnableJIT
и EnableOpenMP
являются true
генератор кода использует JIT-компиляцию и обрабатывает 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 + + для служебных функций. |
Смотрите, как Сгенерированный код разделы MATLAB Coder.
GenCodeOnly
- Генерация только исходного кодаfalse
(по умолчанию) | true
Генерация только исходного кода, заданная в качестве одного из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода производит исходный код C/C + + и создает объектный код. |
true |
Генератор кода производит исходный код C/C + +, но не вызывает команду make или код объекта сборки. Когда вы итератируете между изменением кода 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
(по умолчанию) | trueОтчет о генерации кода, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
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
свойство, установленное на нем, этот параметр возвращается к значению по умолчанию. Значение по умолчанию []
.
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 | В отчете генерации кода не отображаются проблемы, связанные с размещением массива. |
Смотрите Проект для Row-Major Array Layout.
InitFltsAndDblsToZero
- Назначение плавающего и двойного нуля с мемсетом 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')
директива, помещенная в тело функции, переопределяет эту опцию. Для получения дополнительной информации смотрите Взаимодействие между различными элементами управления встраиванием.
LaunchReport
- Автоматическое открытие отчета генерации кодаfalse
(по умолчанию) | trueАвтоматическое открытие отчета генерации кода в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Если возникают ошибки или предупреждения, или если |
true | Генератор кода создает и открывает отчет генерации кода. |
LoopUnrollThreshold
- Пороговое значение количества итераций, определяющее, следует ли автоматически разворачивать for
- циклЦиклы с меньшим количеством итераций, чем этот порог, являются кандидатами для автоматического развертывания генератором кода. Этот порог применяется ко всем for
-циклы в коде MATLAB. Для индивидуума for
-цикл, a coder.unroll
директива, размещенная непосредственно перед циклом, имеет приоритет над циклом развертывания оптимизации. Порог может также применяться к некоторым for
- циклы, произведенные во время генерации кода.
См. раздел «Разрегулирование циклов».
MATLABSourceComments
- Включение исходного кода MATLAB в качестве комментариев в сгенерированный код false
(по умолчанию) | true
Включение исходного кода MATLAB в качестве комментариев в сгенерированный код, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода не вставляет исходный код MATLAB в качестве комментариев в сгенерированный код. Генератор кода не включает сигнатуру функции MATLAB в функциональный баннер. |
true | Генератор кода вставляет исходный код MATLAB в качестве комментариев в сгенерированный код. Тег трассируемости непосредственно предшествует каждой строке исходного кода. Тег трассируемости помогает вам найти соответствующий исходный код MATLAB. Смотрите Трассировка сгенерированного кода C/C + + к исходному коду MATLAB. Если у вас есть Embedded Coder, в отчете о генерации кода тег трассируемости соединяется с исходным кодом. Генератор кода также включает сигнатуру функции MATLAB в функциональный баннер. |
Зависимости:
GenerateComments
включает этот параметр.
Смотрите Трассировка сгенерированного кода C/C + + к исходному коду MATLAB.
MaxIdLength
- Максимальное количество символов в сгенерированных идентификаторах 31
| 1024
| положительное целое числоМаксимальное количество символов в сгенерированных идентификаторах в виде положительного целого числа в области значений [31, 2048]. Это свойство применяется к сгенерированной функции, определению типа и именам переменных. Чтобы избежать усечения идентификаторов целевым компилятором C/C + +, задайте значение, которое соответствует максимальной длине идентификатора целевого компилятора C/C + +.
Это свойство не применяется к экспортированным идентификаторам, таким как сгенерированные имена для функций точки входа или API-функций emxArray. Если длина экспортированного идентификатора превышает максимальную длину идентификатора целевого компилятора C, целевой компилятор C/C + + обрезает экспортированный идентификатор.
Значения по умолчанию:
Если TargetLang
установлено в 'C'
, значение по умолчанию MaxIdLength
является 31
.
Если TargetLang
установлено в 'C++'
, значение по умолчанию MaxIdLength
является 1024
.
MemcpyThreshold
- Минимальный размер для memcpy
или memset
оптимизация Минимальный размер, в байтах, для оптимизации memcpy или memset, заданный как положительное целое число.
Чтобы оптимизировать сгенерированный код, который копирует последовательные элементы массива, генератор кода пытается заменить код на memcpy
вызов. Чтобы оптимизировать сгенерированный код, который присваивает буквальную константу последовательным элементам массива, генератор кода пытается заменить код на memset
вызов.
Количество байтов - это количество элементов массива, которые нужно скопировать или назначить, умноженное на количество байтов, необходимое для типа данных C/C + +.
Если количество элементов, которые нужно скопировать или назначить, переменное (не известно во время компиляции), генератор кода игнорирует MemcpyThreshold
свойство.
Смотрите memcpy Оптимизация и memset Оптимизация.
MultiInstanceCode
- Многократный, входящий кодfalse
(по умолчанию) | true
Многократный входящий код, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода не производит многократный входящий код. |
true |
Генератор кода производит многоразовый код с повторным использованием, который является входным. |
См. «Повторный код». Эта опция не поддерживается продуктом GPU Coder™.
Name
- Имя объекта'CodeConfig'
(по умолчанию) | вектор символовИмя объекта, заданное как вектор символов.
OutputType
- Выход для сборки из сгенерированного кода C/C + +'LIB'
| 'DLL'
| 'EXE'
Выход для сборки из сгенерированного кода C/C + +, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'LIB' | Статическая библиотека |
'DLL' | Динамически связанная библиотека |
'EXE' | Исполняемая программа |
PassStructByReference
- Передайте структуры по ссылкеtrue
(по умолчанию) | false
Передайте структуры по ссылке на функции точки входа, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Сгенерированный код проходит структуры по ссылке, что уменьшает использование памяти и время выполнения путем минимизации количества копий параметров на контурах функции точки входа. Примечание Функция точки входа, которая записывает в поле параметра структуры, перезаписывает входное значение.
|
false | Сгенерированный код пропускает структуры по значению. |
Этот параметр применяется только к функциям точки входа.
GPU Coder всегда устанавливает PassStructByReference
свойство true.
Смотрите Передавать аргументы Структуры по Ссылке или по Значению в Сгенерированном Коде.
PostCodeGenCommand
- Команда для настройки обработки сборки''
(по умолчанию) | вектор символовКоманда для настройки обработки сборки после генерации MEX-функции с codegen
, заданный как вектор символов.
См. раздел Индивидуальную настройку процесса сборки.
PreserveArrayDimensions
- N-мерная индексацияfalse
(по умолчанию) | true
Генерация кода, который использует N-мерную индексацию, заданную в качестве одного из значений в этой таблице.
Значение | Описание |
---|---|
false |
Сгенерируйте код, который использует одномерное индексирование. (Это значение является значением по умолчанию.) |
true | Сгенерируйте код, который использует N-мерную индексацию. |
См. «Генерация кода, который использует N-мерное индексирование».
PreserveVariableNames
- Имена переменных, которые нужно сохранить в сгенерированном коде'None'
(по умолчанию) | 'UserNames'
| 'All'
Имена переменных для сохранения в сгенерированном коде, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
'None' |
Это значение является значением по умолчанию. Генератор кода не должен сохранять какие-либо имена переменных. Он может повторно использовать любые переменные, которые удовлетворяют требованиям для повторного использования переменных. Если ваш код использует большие структуры или массивы, задайте |
'UserNames' |
Генератор кода сохраняет имена, которые соответствуют переменным, которые вы задаете в коде MATLAB. Оно не заменяет ваше имя переменной другим именем и не использует ваше имя для другой переменной. Чтобы улучшить читаемость, установите Настройка |
'All' |
Сохраните все имена переменных. Это значение параметров отключает повторное использование переменной. Используйте его только для проверки или отладки, а не для производственного кода. |
ReportInfoVarName
- Имя переменной, содержащей информацию отчета генерации кода''
(по умолчанию) | вектор символовИмя переменной, в которую вы экспортируете информацию о генерации кода, заданное как вектор символов. Генератор кода создает эту переменную в базовом рабочем пространстве MATLAB. Эта переменная содержит информацию о настройках генерации кода, входных файлах, сгенерированных файлах и сообщениях генерации кода.
Смотрите Информацию отчета Генерации кода доступа Программно и кодер. Свойства ReportInfo.
ReportPotentialDifferences
- Отчетность о потенциальных различияхtrue
(по умолчанию) | false
Отчетность о потенциальных различиях, заданная в качестве одного из значений в этой таблице:
Значение | Описание |
---|---|
true | Генератор кода сообщает о потенциальных различиях в поведении между сгенерированным кодом и кодом MATLAB. Потенциальные различия перечислены на вкладке отчета генерации кода. Разность потенциалов является различием, которое происходит во время исполнения только при определенные обстоятельства. |
false | Генератор кода не сообщает о потенциальных различиях. |
Смотрите Отчеты о потенциальных различиях.
ReservedNameArray
- Имена, которые генератор кода не должен использовать для функций или переменных''
(по умолчанию) | строковый массив | массив ячеек из векторов символов | вектор символовСписок имен, которые генератор кода не должен использовать для функций или переменных, заданный как строковые массивы, массив ячеек из векторов символов или вектор символов.
Несколько зарезервированных имен, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
Строковые массивы | Строковые массивы в |
Массив ячеек из символьных векторов | Массив ячеек из векторов символов в |
Векторы символов | Список зарезервированных имен, разделенных точкой с запятой в Примечание Установка нескольких записей в объектах строения кода с помощью векторов символов будет удалена в следующем релизе. Вместо этого используйте строковые массивы и массив ячеек из вектора символов. Для получения дополнительной информации см. раздел Вопросов совместимости. |
RowMajor
- размещение массива основной строкиfalse
(по умолчанию) | true
Генерация кода, который использует размещение массива основной строки, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Сгенерируйте код, который использует размещение массива основной столбца. (Это значение является значением по умолчанию.) |
true | Сгенерируйте код, который использует размещение массива основной строки. |
См. «Генерация кода, который использует размещение массива Row-Major».
RunInitializeFcn
- Автоматически запустите функцию initializeГенерация вызова функции инициализации в начале сгенерированных функций точки входа, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Вызов функции инициализации включается в начало сгенерированных функций точки входа. Сгенерированный код включает проверки, чтобы убедиться, что функция initialize вызывается только один раз, даже если существует несколько функций точки входа. |
false | Сгенерированные функции точки входа не включают вызовы функции инициализации. |
См. Использование сгенерированных функций инициализации и завершения работы.
Зависимости:
Настройка MultiInstanceCode
на true
отключает этот параметр.
RuntimeChecks
- Обнаружение ошибок времени выполнения и создание отчетов в сгенерированном кодеfalse
(по умолчанию) | true
Обнаружение ошибок времени выполнения и создание отчетов в сгенерированном коде, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Сгенерированный код не проверяет на ошибки, такие как индексация вне границ массива. |
true |
Сгенерированный код проверяет на ошибки, такие как индексация вне границ массива. Программное обеспечение для создания отчетов об ошибках использует Сообщения об ошибке указаны на английском языке. |
SaturateOnIntegerOverflow
- Поддержка целочисленного переполненияtrue
(по умолчанию) | false
Поддержка целочисленного переполнения, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит код, чтобы обработать целочисленное переполнение. Переполнения достигает минимального или максимального значения, которое может представлять тип данных. |
false | Генератор кода не производит код, чтобы обработать целочисленное переполнение. Не устанавливать |
Этот параметр применяется только к встроенным целым типам MATLAB. Он не применяется к двойным, одиночным или типам данных с фиксированной точкой.
См. «Отключить поддержку целочисленного переполнения или нефинитов».
StackUsageMax
- Максимальное использование стека в каждом приложении200000
(по умолчанию) | положительное целое числоМаксимальное использование стека для каждого приложения в байтах в виде положительного целого числа. Установите предел ниже доступного размера стека. В противном случае может произойти переполнение стека во время выполнения. Компилятор C обнаруживает и сообщает о переполнении стека.
См. «Отключить поддержку целочисленного переполнения или нефинитов».
SupportNonFinite
- Поддержка нефинитных значенийtrue
(по умолчанию) | false
Поддержка нефинитных значений, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Если Если |
false |
Генератор кода не производит код для поддержки нефинитных значений. |
См. «Отключить поддержку целочисленного переполнения или нефинитов».
TargetLang
- Язык для использования в сгенерированном коде'C'
(по умолчанию) | 'C++'
Язык для использования в сгенерированном коде, заданный как 'C'
или 'C++'
. Если вы задаете C++, генератор кода переносит код С в файлы .cpp, чтобы можно было использовать компилятор C++ и интерфейс с внешними приложениями C++. Он не генерирует классы C++.
Зависимости: Если DeepLearningConfig
установлено, codegen
устанавливает TargetLang
на C++
.
TargetLangStandard
- Стандарт языка, используемый для сгенерированного кода'Auto'
(по умолчанию) | 'C89/C90 (ANSI)'
| 'C99 (ISO)'
| 'C++03 (ISO)'
| 'C++11 (ISO)'
The '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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.