Параметры конфигурации для генерации MEX-функции из кода MATLAB
coder.MexCodeConfig
объект содержит параметры конфигурации что codegen
использование при генерации MEX-функции. Передайте объект codegen
функция при помощи -config
опция.
cfg = coder.config('mex')
создает coder.MexCodeConfig
объект.
cfg = coder.config
создает coder.MexCodeConfig
объект.
CompileTimeRecursionLimit
— Максимальное количество функциональных специализаций для рекурсии времени компиляцииМаксимальное количество функциональных специализаций для рекурсии времени компиляции, заданной как положительное целое число. Чтобы запретить рекурсию в коде MATLAB®, установите CompileTimeRecursionLimit
к 0. Предел рекурсии времени компиляции по умолчанию является достаточно большим для большинства рекурсивных функций, которые требуют этого типа рекурсии. Если генерация кода перестала работать из-за предела рекурсии времени компиляции, и вы хотите рекурсию времени компиляции, пытаетесь увеличить предел. В качестве альтернативы измените свой код MATLAB так, чтобы генератор кода использовал рекурсию во время выполнения. Смотрите Достигнутый Предел Рекурсии Времени компиляции.
ConstantFoldingTimeout
— Максимальное количество инструкций, которые будут выполняться постоянной папкойМаксимальное количество инструкций, что постоянная папка выполняется. В некоторых ситуациях генерация кода требует, чтобы конкретные инструкции были постоянными. Если сворачивание констант останавливается, прежде чем эти инструкции постоянно свернуты, сбои генерации кода. В этом случае увеличьте значение ConstantFoldingTimeout
.
ConstantInputs
— Постоянный входной режим проверки'CheckValues'
(значение по умолчанию) | 'IgnoreValues'
| 'Remove'
Постоянный входной режим проверки, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'CheckValues' |
Это значение является значением по умолчанию. Когда вы вызываете MEX-функцию, она проверяет, что значение, вы предусматриваете постоянный входной параметр, является значением, заданным во время генерации кода. Можно вызвать MEX-функцию и исходную функцию MATLAB с теми же аргументами. Поэтому можно использовать тот же тестовый файл в обеих функциях. Проверка значений может замедлить выполнение MEX-функции. |
'IgnoreValues' |
Когда вы вызываете MEX-функцию, она игнорирует значение, что вы предусматриваете постоянный входной параметр. Это использует значение, заданное во время генерации кода. Можно использовать тот же тестовый файл без издержек проверки значений аргумента константы. |
'Remove' |
Генератор кода удаляет постоянные входные параметры из подписи MEX-функции. Когда вы вызываете MEX-функцию, вы не вводите значение для постоянного входного параметра. Эта опция обеспечивает обратную совместимость. |
Смотрите, что постоянный вход регистрируется в MEX-функциях.
CustomHeaderCode
— Пользовательский код, который появляется наверху сгенерированных заголовочных файлов C/C++Пользовательский код, который появляется около верхней части каждого заголовочного файла C/C++, сгенерированного из вашего кода MATLAB, заданного как вектор символов.
CustomInclude
— Включайте папки, чтобы добавить, чтобы включать путь для компиляции сгенерированного кодаВключайте папки, чтобы добавить к включать пути при компиляции сгенерированного кода. Укажите, что список включает папки как вектор символов. В векторе символов, отдельном, включают папки pathsep
символ. Например:
cfg = coder.config('mex'); cfg.CustomInclude = ['C:\Project' pathsep 'C:\Custom Files'];
CustomInitializer
— Пользовательский код, чтобы включать в сгенерированное инициализирует функциюПользовательский код, чтобы включать в сгенерированное инициализирует функцию, заданную как вектор символов.
CustomLibrary
— Статические файлы библиотеки, чтобы соединиться со сгенерированным кодомСтатические файлы библиотеки, чтобы соединиться со сгенерированным кодом, заданным как вектор символов. В векторе символов разделите имена файлов библиотеки pathsep
символ.
CustomSource
— Исходные файлы, чтобы скомпилировать и соединиться со сгенерированным кодомИсходные файлы, чтобы скомпилировать и соединиться со сгенерированным кодом, заданным как вектор символов. В векторе символов разделите имена исходного файла pathsep
символ.
Процесс сборки ищет исходные файлы сначала в текущей папке, и затем во включать папках, которые вы задаете в CustomInclude
. Если исходные файлы с тем же именем происходят в нескольких папках на пути поиска файлов, процесс сборки может использовать различный файл, чем файл, который вы задали.
Предположим, что вы задаете foo.cpp
как исходный файл. Если foo.c
и foo.cpp
находятся оба на пути поиска файлов, вы не можете быть уверены, использует ли процесс сборки foo.c
или foo.cpp
.
CustomSourceCode
— Код, чтобы появиться около верхней части сгенерированного .c
или .cpp
файлЗадайте код, чтобы появиться около верхней части сгенерированного .c
или .cpp
файл, за пределами любой функции. Задайте код как вектор символов.
Не задавайте статическое функциональное определение C.
CustomTerminator
— Код, который появляется в сгенерированной оконечной функции Код, который появляется в сгенерированной оконечной функции, заданной как вектор символов.
DeepLearningConfig
— Объект Configuration для генерации кода глубокого обученияcoder.MklDNNConfig
объектОбъект Configuration для генерации кода для нейронных сетей для глубокого обучения, заданных как coder.MklDNNConfig
объект.
coder.MklDNNConfig
объект содержит параметры, характерные для генерации Кода С++ для глубокого обучения с помощью Intel® MKL-DNN. Создать coder.MklDNNConfig
объект, используйте coder.DeepLearningConfig
. Например:
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');
Генерация кода для нейронных сетей для глубокого обучения требует Deep Learning Toolbox™ и Интерфейса MATLAB Coder™ для пакета поддержки Библиотек Глубокого обучения.
Смотрите генерацию кода для нейронных сетей для глубокого обучения с MKL-DNN.
Генерация кода MEX не поддержана для глубокого обучения, пользующегося Библиотекой ARM® Compute.
Зависимость: если DeepLearningConfig
установлен, codegen
наборы TargetLang
к C++
.
DynamicMemoryAllocation
— Режим динамического выделения памяти'Threshold'
(значение по умолчанию) | 'AllVariableSizeArrays'
| 'Off'
Режим динамического выделения памяти, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Threshold' |
Это значение является значением по умолчанию. Генератор кода выделяет память динамически на куче для массивов переменного размера, размер которых (в байтах) больше или равен |
'AllVariableSizeArrays' | Генератор кода динамически выделяет память для всех массивов переменного размера на куче. |
'Off' |
Генератор кода статически выделяет память для массивов переменного размера на стеке. |
Неограниченные массивы переменного размера требуют динамического выделения памяти.
Зависимости:
EnableVariableSizing
включает этот параметр.
Установка этого DynamicMemoryAllocation
к 'Threshold'
включает DynamicMemoryAllocationThreshold
параметр.
DynamicMemoryAllocationThreshold
— Порог размера для динамического выделения памяти массивов переменного размера
(значение по умолчанию) | положительное целое числоПорог размера для динамического выделения памяти массивов переменного размера, заданных как положительное целое число. Генератор кода использует динамическое выделение памяти в массивах переменного размера, размер которых (в байтах) больше или равен порогу.
Зависимость:
Установка DynamicMemoryAllocation
к 'Threshold'
включает этот параметр.
EchoExpressions
— Повторение выраженияtrue
(значение по умолчанию) | false
Повторение выражения, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. MEX-функция отображает вывод операторов, которые не заканчиваются точкой с запятой. |
false |
MEX-функция не отображает вывод операторов, которые не заканчиваются точкой с запятой. |
Это свойство не применяется к общим функциям визуализации, таким как disp
график
, или figure
когда они называются как внешняя функция. MEX-функции отображают вывод тех функций независимо от присутствия точки с запятой или значения EchoExpressions
.
EnableAutoExtrinsicCalls
— Автоматические внешние вызовы функцииtrue
(значение по умолчанию) | false
Автоматические внешние вызовы функции, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Генератор кода обрабатывает некоторые общие функции визуализации, когда значение внешних параметров функционирует. Вы не должны объявлять эти функции как значение внешних параметров при помощи |
false | Генератор кода не обрабатывает общие функции визуализации, когда значение внешних параметров функционирует, если вы не объявляете их как значение внешних параметров при помощи coder.extrinsic . |
Некоторыми общими функциями визуализации является plot
disp
, и figure
. Смотрите внешние функции.
EnableDebugging
— Режим отладки компилятора Cfalse
(значение по умолчанию) | true
Режим отладки компилятора C, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода не включает режим отладки компилятора C. |
true |
Генератор кода включает режим отладки компилятора C. Когда режим отладки включен, компилятор C не оптимизирует код. Компиляция быстрее, но выполнение медленнее. |
EnableJIT
— Своевременный (JIT) режим компиляцииfalse
(значение по умолчанию) | true
Своевременный (JIT) режим компиляции, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода создает функцию MEX C/C++ путем генерации и компиляции кода C/C++. |
true |
Генератор кода использует своевременную (JIT) технологию компиляции в генерации MEX-функции. Генератор кода создает MEX-функцию JIT, которая содержит абстрактное представление кода MATLAB. Когда вы запускаете MEX-функцию JIT, MATLAB генерирует исполняемый код в памяти. |
Чтобы ускорить генерацию MEX-функций, установите EnableJIT
к true
.
JIT-компиляция несовместима с определенными функциями генерации кода и опциями, такова как пользовательский код или использование библиотеки OpenMP. Если вы задаете JIT-компиляцию, и генератор кода не может использовать ее, она генерирует функцию MEX C/C++ с предупреждением. Если EnableJIT
и EnableOpenMP
true
, и ваш код использует parfor
, генератор кода использует JIT-компиляцию и обрабатывает parfor
- циклы как for
- циклы.
EnableMemcpy
— memcpy
оптимизацияtrue
(значение по умолчанию) | false
memcpy
оптимизация, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Если возможно, генератор кода использует |
false |
Генератор кода не использует |
EnableMexProfiling
— Инструментирование для профилированияfalse
(значение по умолчанию) | true
Включение профилирования сгенерированной MEX-функции, заданной как одно из значений в этой таблице.
Значение | Описание |
---|---|
false | Это значение является значением по умолчанию. Генератор кода не включает инструментирование для профилирования в сгенерированной MEX-функции. |
true | Генератор кода включает инструментирование для профилирования в сгенерированной MEX-функции. Можно затем использовать профилировщика MATLAB, чтобы профилировать MEX, Смотрите MEX-функции Профиля при помощи профилировщика MATLAB. |
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
.
ExtrinsicCalls
— Внешняя поддержка вызова функцииtrue
(значение по умолчанию) | false
Внешняя поддержка вызова функции, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Для внешней функции генератор кода производит вызов функции MATLAB. Генератор кода не генерирует внутренний код для функции. |
false |
Генератор кода игнорирует внешнюю функцию. Это не генерирует код для вызова функции MATLAB. Если внешняя функция влияет на выход функции MATLAB, генератор кода выпускает ошибку компиляции. Если вы устанавливаете |
Значение ExtrinsicCalls
влияет, как MEX-функция генерирует случайные числа за randrandi
, и randn
. Если ExtrinsicCalls
true
, MEX-функция использует глобальный поток случайных чисел MATLAB, чтобы сгенерировать случайные числа. В противном случае MEX-функция использует автономный генератор случайных чисел.
Смотрите внешние функции.
FilePartitionMethod
— Режим разделения файла'MapMFileToCFile'
(значение по умолчанию) | 'SingleFile'
Режим разделения файла, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'MapMFileToCFile' |
Это значение является значением по умолчанию. Генератор кода производит отдельные файлы C/C++ для каждого файла языка MATLAB. |
'SingleFile' | Генератор кода производит один файл для функций C/C++, которые сопоставляют с вашими функциями точки входа MATLAB. Генератор кода производит отдельные файлы C/C++ для служебных функций. |
GenCodeOnly
— Генерация только исходного кодаfalse
(значение по умолчанию) | true
Генерация только исходного кода, заданного как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода производит исходный код C/C++ и создает объектный код. |
true |
Генератор кода производит исходный код C/C++, но не вызывает сделать команду или создает объектный код. Когда вы выполняете итерации между изменением кода MATLAB, и генерация кода C/C++, генерируя только код может сэкономить время. |
GenerateComments
— Комментарии в сгенерированном коде true
(значение по умолчанию) | false
Комментарии в сгенерированном коде, заданном как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Генератор кода помещает комментарии в сгенерированный код. |
false | Генератор кода не помещает комментарии в сгенерированный код. |
GenerateReport
— Отчет генерации кодаfalse
(значение по умолчанию) | верныйОтчет генерации кода, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода представляет отчет, только если сообщения об ошибке или предупреждающие сообщения происходят, или если вы устанавливаете |
true | Генератор кода представляет отчет генерации кода. |
GlobalDataSyncMethod
— Режим синхронизации глобальных данных'SyncAlways'
(значение по умолчанию) | 'SyncAtEntryAndExits'
| 'NoSync'
Режим синхронизации глобальных данных, заданный как одно из значений в этой таблице.
Значение | Описание для глобальных данных | Описание для постоянных глобальных данных |
---|---|---|
|
Это значение является значением по умолчанию. Синхронизирует глобальные данные при входе и выходе MEX-функции и для внешних призывов к максимальной непротиворечивости между MATLAB и сгенерированной MEX-функцией. Чтобы максимизировать производительность, если внешние вызовы не изменяют глобальные данные, используют эту опцию с |
Проверяет непротиворечивость постоянных глобальных данных при записи MEX-функции и после внешних вызовов. Если значения глобальных данных в глобальной рабочей области MATLAB противоречивы со временем компиляции постоянные глобальные значения в MEX-функции, концах MEX-функции с ошибкой. Используйте |
|
Синхронизирует глобальные данные при входе и выходе MEX-функции только. Чтобы максимизировать производительность, если только несколько внешних глобальных данных изменения вызовов, используют эту опцию с |
Проверяет постоянные глобальные данные при записи MEX-функции только. Если значения глобальных данных в глобальной рабочей области MATLAB противоречивы со временем компиляции постоянные глобальные значения в MEX-функции, концах MEX-функции с ошибкой. Используйте |
|
Отключает синхронизацию. Прежде, чем отключить синхронизацию, проверьте, что ваша MEX-функция не взаимодействует с глобальными данными MATLAB. В противном случае несоответствия между MATLAB и MEX-функцией могут произойти. |
Отключает проверки на непротиворечивость. |
Смотрите генерируют код для глобальных данных.
HighlightPotentialRowMajorIssues
— Потенциальные упорядоченные по строкам проблемы размещенияtrue
(значение по умолчанию) | false
Отображение потенциальных упорядоченных по строкам проблем КПД размещения, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Отчет генерации кода отображает потенциальные проблемы КПД из-за упорядоченного по строкам размещения. (Это значение является значением по умолчанию.) |
false | Отчет генерации кода не отображает проблемы, связанные с размещением массивов. |
См. проект кода для упорядоченного по строкам размещения массивов.
InitFltsAndDblsToZero
— Присвоение плавания и дважды обнуляет с memset true
(значение по умолчанию) | false
Присвоение плавания и дважды обнуляет с memset
, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Если возможно, генератор кода использует |
false |
Генератор кода не использует |
InlineStackLimit
— Сложите предел размера для встроенных функцийСложите предел размера для встроенных функций, заданных как положительное целое число. Предел размера стека определяет количество стекового пространства, выделенного для локальных переменных встроенной функции.
Определение предела для стекового пространства ограничивает объем встраивания позволенного. Для исключительных функций выпущено стековое пространство для переменных, локальных для функции, когда функция возвращается. Однако для встроенных функций, стековое пространство остается занятым локальными переменными, даже когда функция возвращается.
Эта возможность особенно важна для встраиваемых процессоров, где размер стека может быть ограничен.
Смотрите, что управление встраивает.
InlineThreshold
— Функциональный порог размера для встраиванияФункциональный порог размера для встраивания, заданный как положительное целое число.
Если другие условия не предотвращают встраивание, генератор кода встраивает функции, которые меньше, чем порог.
Функциональный размер измеряется как отвлеченное число инструкций, не фактических инструкций MATLAB или инструкций в целевом процессоре. Получить поведение встраивания, которое вы хотите, эксперимент с порогом. Например, если пороговые результаты по умолчанию во встраивании больших функций и генерации больших сумм кода С, настройте порог, пока вы не будете удовлетворены размером сгенерированного кода.
Смотрите, что управление встраивает.
InlineThresholdMax
— Максимальный размер функций после встраиванияМаксимальный размер функций после встраивания, заданного как положительное целое число. Если после встраивания размер функции вызова превышает InlineThresholdMax
, затем генератор кода не встраивает вызванную функцию.
Функциональный размер измеряется как отвлеченное число инструкций, не фактических инструкций MATLAB или инструкций в целевом процессоре. Получить поведение встраивания, которое вы хотите, эксперимент с порогом. Например, если пороговые результаты по умолчанию во встраивании больших функций и генерации больших сумм кода С, настройте порог, пока вы не будете удовлетворены размером сгенерированного кода.
Смотрите, что управление встраивает.
IntegrityChecks
— Проверка целостности памятиtrue
(значение по умолчанию) | ложьПроверка целостности памяти, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Сгенерированный код обнаруживает выполнение нарушений и остановок целостности памяти с диагностическим сообщением. |
false |
Сгенерированный код не обнаруживает нарушения целостности памяти. Установка |
Смотрите проверки на этапе выполнения управления.
LaunchReport
— Автоматический открытый из отчета генерации кодаfalse
(значение по умолчанию) | верныйАвтоматический открытый из отчета генерации кода, заданного как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Если ошибки или предупреждения происходят, или если |
true | Генератор кода производит и открывает отчет генерации кода. |
MATLABSourceComments
— Включение исходного кода MATLAB как комментарии в сгенерированном коде false
(значение по умолчанию) | true
Включение исходного кода MATLAB как комментарии в сгенерированном коде, заданном как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Это значение является значением по умолчанию. Генератор кода не вставляет исходный код MATLAB как комментарии в сгенерированном коде. Генератор кода не включает подпись функции MATLAB в функциональный баннер. |
true | Генератор кода вставляет исходный код MATLAB как комментарии в сгенерированном коде. Тег трассируемости сразу предшествует каждой линии исходного кода. Тег трассируемости помогает вам определить местоположение соответствующего исходного кода MATLAB. Смотрите Трассировку Сгенерированный Код C/C++ к Исходному коду MATLAB. Генератор кода также включает подпись функции MATLAB в функциональный баннер. |
Зависимость:
GenerateComments
включает этот параметр.
Смотрите Трассировку Сгенерированный Код C/C++ к Исходному коду MATLAB.
MemcpyThreshold
— Минимальный размер для memcpy
или memset
оптимизация Минимальный размер, в байтах, для memcpy или memset оптимизации, заданной как положительное целое число.
Чтобы оптимизировать сгенерированный код, который копирует последовательные элементы массива, генератор кода пытается заменить код на memcpy
вызвать. Чтобы оптимизировать сгенерированный код, который присваивает литеральную константу последовательным элементам массива, генератор кода пытается заменить код на memset
вызвать.
Количество байтов является количеством элементов массива, чтобы скопировать или присвоить умноженный на количество байтов, требуемых для типа данных C/C++.
Если число элементов, чтобы скопировать или присвоить является переменным (не известный во время компиляции), генератор кода игнорирует MemcpyThreshold
свойство.
Name
— Имя объекта'MexCodeConfig'
(значение по умолчанию) | вектор символовИмя объекта, заданное как вектор символов.
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
— Имена, которые генератор кода не может использовать в функциях или переменных''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиСписок имен, которые генератор кода не должен использовать в функциях или переменных, заданных как вектор символов, или представлять скаляр в виде строки. Чтобы задать несколько зарезервированных имен, используйте разделенный от точки с запятой список зарезервированных имен в ReservedNameArray
. Например, cfg.ReservedNameArray = "reserve1;reserve2;reserve3"
.
ResponsivenessChecks
— Проверки скорости откликаtrue
(значение по умолчанию) | false
Проверки скорости отклика, заданные как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Можно использовать Ctrl+C, чтобы остановить выполнение сгенерированной MEX-функции. |
false |
Чтобы закончить продолжительную MEX-функцию, вам придется отключить MATLAB. |
Смотрите проверки на этапе выполнения управления.
RowMajor
— Упорядоченное по строкам размещение массивовfalse
(значение по умолчанию) | true
Генерация кода, который использует упорядоченное по строкам размещение массивов, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
false |
Сгенерируйте код, который использует упорядоченное по столбцам размещение массивов. (Это значение является значением по умолчанию.) |
true | Сгенерируйте код, который использует упорядоченное по строкам размещение массивов. |
Смотрите генерируют код, который использует упорядоченное по строкам размещение массивов.
SaturateOnIntegerOverflow
— Поддержка целочисленного переполненияtrue
(значение по умолчанию) | false
Поддержка целочисленного переполнения, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true | Это значение является значением по умолчанию. Генератор кода производит код, чтобы обработать целочисленное переполнение. Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
false | Генератор кода не производит код, чтобы обработать целочисленное переполнение. Не устанавливайте |
Этот параметр применяет только к MATLAB встроенные целочисленные типы. Это не применяется, удваивается, одиночные игры или типы данных с фиксированной точкой.
Смотрите отключают поддержку Integer Overflow или Nonfinites.
StackUsageMax
— Максимальное использование стека на приложение
(значение по умолчанию) | положительное целое числоМаксимальное использование стека на приложение, в байтах, заданных как положительное целое число. Установите предел, который ниже, чем доступный размер стека. В противном случае переполнение стека этапа выполнения может произойти. Компилятор C обнаруживает и сообщает о переполнениях стека.
TargetLang
— Язык, чтобы использовать в сгенерированном коде'C'
(значение по умолчанию) | 'C++'
Язык, чтобы использовать в сгенерированном коде, заданном как 'C'
или 'C++'
. Если вы задаете C++, генератор кода переносит код С в .cpp файлы так, чтобы можно было использовать компилятор C++ и интерфейс с внешними приложениями C++. Это не генерирует классы C++.
Зависимость: если DeepLearningConfig
установлен, codegen
наборы TargetLang
к C++
.
Запишите функцию MATLAB, от которой можно сгенерировать код. Этот пример использует функциональный myadd
это возвращает сумму его входных параметров.
function c = myadd(a,b) c = a + b; end
Создайте объект настройки для генерации MEX-функции.
cfg = coder.config('mex');
Измените значения свойств, в которых вы не хотите использовать значения по умолчанию. Например, включите своевременную (JIT) компиляцию.
cfg.EnableJIT = true;
Сгенерируйте код при помощи codegen
. Передайте объект настройки codegen
при помощи -config
опция. Укажите, что входные параметры являются скаляром дважды.
codegen myadd -config cfg -args {1 1} -report
Чтобы использовать значения параметра конфигурации по умолчанию в генерации MEX-функции, вместо того, чтобы создать объект настройки, можно вызвать codegen
не задавая настройку возражают или с -config:mex
опция.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.