Параметры конфигурации для генерации кода 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 не поддерживает обратные вызовы TLC.
CompileTimeRecursionLimit - Максимальное количество специализаций функций для рекурсии во время компиляцииМаксимальное число специализаций функций для рекурсии во время компиляции, указанное как положительное целое число. Чтобы запретить рекурсию в коде MATLAB, установите CompileTimeRecursionLimit в 0. Предел времени компиляции по умолчанию достаточно велик для большинства рекурсивных функций, требующих такого типа рекурсии. Если не удалось создать код из-за предела рекурсии времени компиляции и требуется рекурсия времени компиляции, попробуйте увеличить предел. Либо измените код MATLAB таким образом, чтобы генератор кода использовал рекурсию во время выполнения. См. раздел Достигнут предел рекурсии во время компиляции.
ConstantFoldingTimeout - Максимальное количество инструкций, выполняемых папкой константМаксимальное количество инструкций, выполняемых в постоянной папке. В некоторых ситуациях создание кода требует, чтобы конкретные команды были постоянными. Если постоянное сворачивание прекращается до того, как эти команды будут постоянно свернуты, создание кода завершается неудачей. В этом случае увеличить значение ConstantFoldingTimeout.
См. раздел Оптимизация кодера MATLAB в разделе Сгенерированный код.
CppInterfaceClassName - Имя класса интерфейса для сгенерированного кода C++'' (по умолчанию) | символьный векторИмя класса интерфейса при создании кода C++ с помощью CppInterfaceStyle установить в значение 'Methods'. В этом случае сгенерированный код для функций точки входа MATLAB состоит из методов, содержащихся в классе C++ с именем, указанным CppInterfaceClassName. Это свойство не действует при установке CppInterfaceStyle кому 'Functions'.
См. раздел Создание кода C++ с интерфейсом класса.
CppInterfaceStyle - Стиль интерфейса для сгенерированного кода C++'Functions' (по умолчанию) | 'Methods'Стиль интерфейса с сгенерированным кодом C++ для функций точки входа MATLAB, из которых создается код. По умолчанию функции точки входа становятся функциями C++. При выборе 'Methods', то функции точки входа становятся методами в классе C++. Укажите имя класса с помощью свойства CppInterfaceClassName.
См. раздел Создание кода C++ с интерфейсом класса.
Зависимость:
Настройка TargetLang кому 'C++' включает этот параметр.
CppPackagesToNamespaces - Создание пространств имен C++ для пакетов MATLABtrue (по умолчанию) | falseНужно ли создавать пространства имен C++ для пакетов в коде MATLAB, указанном как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
true | Это значение является значением по умолчанию. Генератор кода создает пространства имен C++ для пакетов в коде MATLAB. См. раздел Организация сгенерированного кода C++ в пространства имен. |
false | Генератор кода не создает пространства имен C++ для пакетов в коде MATLAB. |
Зависимость:
Настройка TargetLang кому 'C++' включает этот параметр.
Типы данных: logical
CppNamespace - Имя пространства имен для созданного кода C++'' (по умолчанию) | символьный векторПространство имен для созданного кода C++. Генератор кода не создает код в пространстве имен, если не указан непустой символьный вектор.
См. раздел Организация сгенерированного кода C++ в пространства имен.
Зависимость:
Настройка TargetLang кому 'C++' включает этот параметр.
CppNamespaceForMathworksCode - Поместить код C++, созданный для кода MathWorks, в отдельное пространство имен'coder' (по умолчанию) | символьный векторПространство имен для кода C++, созданного для кода MathWorks. Если это свойство указано как пустой символьный вектор, генератор кода не создает такое пространство имен.
См. раздел Организация сгенерированного кода C++ в пространства имен.
Зависимость:
Настройка 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.
См. раздел Ускорение быстрых преобразований Фурье в сгенерированном автономном коде с помощью вызовов библиотеки FFTW.
CustomHeaderCode - Пользовательский код, отображаемый в верхней части созданных файлов заголовков C/C + +Пользовательский код, который отображается в верхней части каждого файла заголовка C/C + +, созданного из кода MATLAB, за исключениемrtwtypes.h и rtwhalf.h, задается как символьный вектор.
CustomInclude - Включить папки для добавления, чтобы включить путь для компиляции созданного кодаВключить папки для добавления к пути включения при компиляции созданного кода. Укажите список папок включения в качестве строкового массива, массива ячеек символьного вектора или символьного вектора.
Несколько имен папок, указанных как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
| Строковый массив | Строковый массив в |
| Массив ячеек символьных векторов | Массив ячеек символьных векторов в |
| Символьный вектор | Отдельные папки включения по Примечание Указание нескольких записей в объектах конфигурации кода с использованием символьных векторов будет удалено в следующей версии. Используйте строковый массив и массив ячеек символьного вектора. Дополнительные сведения см. в разделе Вопросы совместимости. |
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), вне любой функции. Укажите код в качестве символьного вектора.
Не указывайте определение статической функции 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 - Объект конфигурации для создания кода глубокого обученияcoder.MklDNNConfig объект | coder.ARMNEONConfig объектОбъект конфигурации для создания кода для сетей глубокого обучения, указанный как coder.MklDNNConfig объект или coder.ARMNEONConfig объект.
A coder.MklDNNConfig содержит параметры, специфичные для генерации кода C++ для глубокого обучения с помощью Intel ® MKL-DNN. Создание coder.MklDNNConfig объект, использование coder.DeepLearningConfig. Например:
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');
A coder.ARMNEONConfig содержит параметры, специфичные для генерации кода C++ для глубокого обучения с помощью вычислительной библиотеки ARM ®. Создание coder.ARMNEONConfig объект, использование coder.DeepLearningConfig. Например:
cfg = coder.config('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('arm-compute');
Для создания кода для сетей глубокого обучения требуется пакет поддержки Deep Learning Toolbox™ и интерфейс кодера MATLAB для библиотек глубокого обучения.
См. разделы Создание кода для сетей глубокого обучения с MKL-DNN и Создание кода для сетей глубокого обучения с вычислительной библиотекой ARM.
Зависимость: Если 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 для выполнения вызова функции в сгенерированном коде.
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.
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 - Генерация Makefiletrue (по умолчанию) | falseСоздание Makefile в процессе построения, указанное как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
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 | В отчете о создании кода не отображаются проблемы, связанные с компоновкой массива. |
См. раздел Разработка кода для компоновки основного массива строк.
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') директива, размещенная внутри тела функции, переопределяет эту опцию. Дополнительные сведения см. в разделе Взаимодействие между различными элементами управления вложением.
См. раздел Управление встроением для точной настройки производительности и читаемости сгенерированного кода.
LaunchReport - Автоматическое открытие отчета о формировании кодаfalse (по умолчанию) | trueАвтоматическое открытие отчета о создании кода, указанного как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
false |
Это значение является значением по умолчанию. Если возникают ошибки или предупреждения, или если |
true | Генератор кода создает и открывает отчет о создании кода. |
LoopUnrollThreshold - пороговое значение количества итераций, определяющее, следует ли автоматически разгружать for- петляЦиклы с меньшим количеством итераций, чем это пороговое значение, являются кандидатами на автоматическое разворачивание генератором кода. Это пороговое значение применяется ко всем for-циклы в коде MATLAB. Для отдельного лица for-loop, a coder.unroll директива, размещенная непосредственно перед циклом, имеет приоритет над оптимизацией развертывания цикла. Порог также может применяться к некоторым for- циклы, создаваемые во время генерации кода.
См. раздел Разматывание контуров.
MATLABSourceComments - Включение исходного кода MATLAB в качестве комментариев в созданный код false (по умолчанию) | trueВключение исходного кода MATLAB в качестве комментариев в созданный код, указанный как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
false |
Это значение является значением по умолчанию. Генератор кода не вставляет исходный код MATLAB в качестве комментариев в созданный код. Генератор кода не включает сигнатуру функции MATLAB в баннер функции. |
true | Генератор кода вставляет исходный код MATLAB в качестве комментариев в созданный код. Тег отслеживания непосредственно предшествует каждой строке исходного кода. Тег отслеживания помогает найти соответствующий исходный код MATLAB. См. раздел Трассировка сгенерированного кода C/C + + к исходному коду MATLAB. При наличии встроенного кодера в отчете о создании кода тег отслеживания связывается с исходным кодом. Генератор кода также включает сигнатуру функции 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 | Созданный код передает структуры по значению. |
Этот параметр применяется только к функциям точки входа.
Кодер графического процессора всегда устанавливает PassStructByReference свойство имеет значение true.
См. раздел Аргументы структуры передачи по ссылке или по значению в сгенерированном коде.
PostCodeGenCommand - Команда для настройки обработки построения'' (по умолчанию) | символьный векторКоманда для настройки обработки построения после создания функции MEX с помощью codegen, задается как символьный вектор.
См. раздел Настройка процесса построения.
PreserveArrayDimensions - N-мерная индексацияfalse (по умолчанию) | trueСоздание кода, использующего N-мерное индексирование, указанное как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
false |
Создание кода, использующего одномерную индексацию. (Это значение является значением по умолчанию.) |
true | Создание кода, использующего N-мерную индексацию. |
См. раздел Создание кода, использующего N-мерное индексирование.
PreserveVariableNames - Имена переменных для сохранения в созданном коде'None' (по умолчанию) | 'UserNames' | 'All'Имена переменных для сохранения в созданном коде, указанные как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
'None' |
Это значение является значением по умолчанию. Генератору кода не требуется сохранять имена переменных. Он может повторно использовать любые переменные, удовлетворяющие требованиям к повторному использованию переменных. Если в коде используются большие структуры или массивы, установка |
'UserNames' |
Генератор кода сохраняет имена, соответствующие переменным, определенным в коде MATLAB. Оно не заменяет имя переменной другим именем и не использует имя другой переменной. Чтобы улучшить удобочитаемость, установите Настройка |
'All' |
Сохранить все имена переменных. Это значение параметра отключает повторное использование переменной. Используйте его только для тестирования или отладки, а не для производственного кода. |
См. раздел Сохранение имен переменных в сгенерированном коде.
ReportInfoVarName - имя переменной, содержащей информацию отчета о формировании кода;'' (по умолчанию) | символьный векторИмя переменной, в которую экспортируется информация о создании кода, указанное как символьный вектор. Генератор кода создает эту переменную в базовой рабочей области MATLAB. Эта переменная содержит информацию о параметрах генерации кода, входных файлах, созданных файлах и сообщениях генерации кода.
См. раздел Программно и кодировщик информации о создании отчетов по коду доступа. Свойства EventInfo.
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. Он не применяется к двойным, одиночным или фиксированным типам данных.
См. раздел Отключение поддержки переполнения целых чисел или нефинитов.
StackUsageMax - Максимальное использование стека для каждого приложения200000 (по умолчанию) | положительное целое числоМаксимальное использование стека приложением в байтах, указанное как положительное целое число. Установите предел, который меньше доступного размера стека. В противном случае может произойти переполнение стека во время выполнения. Компилятор C обнаруживает переполнения стека и сообщает о них.
См. раздел Отключение поддержки переполнения целых чисел или нефинитов.
SupportNonFinite - Поддержка неокончательных значенийtrue (по умолчанию) | falseПоддержка нефинитных значений, указанных как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
true | Это значение является значением по умолчанию. Если Если |
false |
Генератор кода не создает код для поддержки неокончательных значений. |
См. раздел Отключение поддержки переполнения целых чисел или нефинитов.
TargetLang - Язык для использования в сгенерированном коде'C' (по умолчанию) | '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)' '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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.