Пакет: Simulink .CodeImporter
Задайте пользовательские настройки кода для Simulink.CodeImporter
и sltest.CodeImporter
классы
The Simulink.CodeImporter.CustomCode
класс является handle
класс.
Когда вы создаете объект класса Simulink.CodeImporter
, объект класса Simulink.CodeImporter.CustomCode
автоматически создается как CustomCode
свойство этого объекта. Не создавать объект класса Simulink.CodeImporter.CustomCode
непосредственно.
Примечание
Первые четыре свойства, перечисленные ниже (SourceFiles
, InterfaceHeaders
, IncludePaths
, и Libraries
) дайте вам указать путь к файлу о местоположении вашего пользовательского кода. Чтобы включить переносимость, укажите эту информацию как путь к файлу относительно папки, указанной в OutputFolder
свойство соответствующего Simulink.CodeImporter
объект, а не как абсолютный путь.
SourceFiles
- Импортируемые исходные файлыИсходные файлы, которые будут импортированы, заданные как массив ячеек с вектором символов или строковые массивы. Поддерживаемые файлы включают .c
и .cpp
файлы. Каждое имя файла может быть задано как путь относительно папки, указанной в OutputFolder
свойство соответствующего Simulink.CodeImporter
объект или как абсолютный путь.
Обеспечение значения для SourceFiles
опционально для Simulink.CodeImporter
и опционально для sltest.CodeImporter
когда TestType
является IntegrationTest
.
Пример: {'foo.c', 'bar.c'}
Пример: [".\foo.c", "..\bar.c"]
Пример: fullfile(pwd, 'Src', 'foo.c')
Типы данных: cell array of character vectors
| string array
InterfaceHeaders
- Импортируемые заголовки интерфейсовЗаголовки интерфейса, которые будут импортированы, заданные как массив ячеек из векторов символов или строковые массивы. Поддерживаемые файлы включают .h
и .hpp
файлы. Каждое имя файла может быть задано как путь относительно папки, указанной в OutputFolder
свойство соответствующего Simulink.CodeImporter
объект или как абсолютный путь. Заголовки интерфейса должны содержать объявления функций и определения типов, которые вы хотите принести в Simulink®. Эти объявления и определения обычно содержатся в заголовке экспорта библиотеки кода С.
Пример: {'foo.h', 'bar.h'}
Пример: [".\foo.h", "..\bar.h"]
Пример: fullfile(pwd, 'Hdr', 'foo.h')
Типы данных: cell array of character vectors
| string array
IncludePaths
- Папки, содержащие включенные заголовочные файлыПапки, содержащие включенные файлы заголовков для поиска анализатора, заданные как массив ячеек из векторов символов или строковые массивы. Каждый путь к папке может быть задан как путь относительно папки, указанной в OutputFolder
свойство соответствующего Simulink.CodeImporter
объект или как абсолютный путь.
Пример: {'.', '..\..'}
Пример: [".\Include1", "..\Include2"]
Пример: fullfile(pwd, 'Include1')
Типы данных: cell array of character vectors
| string array
Libraries
- Библиотеки, которые содержат пользовательский объектный код для связиБиблиотеки, которые содержат пользовательский объектный код для связи, заданный как массив ячеек из векторов символов или строковые массивы. Поддерживаемые файлы включают .obj
, .dll
, .lib
, .so
, .o
, .a
, и .dylib
файлы. Каждое имя файла может быть задано как путь относительно папки, указанной в OutputFolder
свойство соответствующего Simulink.CodeImporter
объект или как абсолютный путь.
Предоставление библиотек опционально.
Пример: {'foo.lib', 'foo.dll'}
Пример: [".\foo.so", "..\bar.so"]
Типы данных: cell array of character vectors
| string array
Defines
- Определения макросов препроцессора, которые будут добавлены в командную строку компилятораОпределения макросов препроцессора, которые будут добавлены в командную строку компилятора, заданные как массив ячеек из векторов символов или строковые массивы. '-D'
необязательно в задачах.
Пример: {'-D DEF1', '-D DEF2'}
Пример: ["DEF1", "DEF2"]
Типы данных: cell array of character vectors
| string array
Language
- Пользовательский язык кода'C'
(по умолчанию) | 'C++'
Язык пользовательского кода, заданный как 'C'
или 'C++'
. C и C++ являются единственными поддерживаемыми языками.
Типы данных: character vector
| string scalar
CompilerFlags
- Дополнительные флаги компилятораДополнительные флаги-компиляторы, добавляемые в командную строку компилятора, заданные как массив ячеек из векторов символов или строковые массивы.
Пример:
{'/O2' , '/Og'}
Пример: "-g"
Типы данных: cell array of character vectors
| string array
LinkerFlags
- Дополнительные флаги линкераДополнительные флаги линкера, которые будут добавлены в командную строку линкера, заданные как массив ячеек из векторов символов или строковые массивы.
Пример: {'/WX'}
Типы данных: cell array of character vectors
| string array
GlobalVariableInterface
- Опция включения глобальных переменных в качестве функциональных интерфейсовfalse
(по умолчанию) | true
Опция включения глобальных переменных в качестве функциональных интерфейсов, заданная как логический скаляр. Если установлено значение true
глобальные переменные, к которым обращаются пользовательские функции кода, будут рассматриваться как функциональные интерфейсы в сгенерированной библиотеке Simulink. Смотрите Call C Caller Block и Specify Ports и Включите глобальные переменные как функциональные интерфейсы.
Типы данных: logical scalar
FunctionArrayLayout
- размещение массива по умолчанию для пользовательских функций кодаNotSpecified
(по умолчанию) | RowMajor
| ColumnMajor
| Any
Размещение массива по умолчанию для пользовательских функций кода для доступа к массивам входных параметров, заданный как NotSpecified
, RowMajor
, ColumnMajor
, или Any
. Вы можете переопределить значение по умолчанию для отдельной функции с помощью ArrayLayout
свойство Simulink.CodeImporter.Function
объект, соответствующий этой функции. Матричные данные, переданные в ваши функции C и из них, преобразуются в заданный вами размещение массива функций. См. разделы Интеграция кода С с использованием блоков вызывающего абонента C и размещение массива функций по умолчанию.
Типы данных: enum
Создайте объект класса Simulink.CodeImporter
. Установите свойства его CustomCode
свойство для задания пользовательского кода для импорта в Simulink.
obj = Simulink.CodeImporter("pumpController"); obj.OutputFolder = "."; obj.CustomCode.InterfaceHeaders = ["pumpController.h"]; obj.CustomCode.IncludePaths = ["./include"]; obj.CustomCode.SourceFiles = ["src/pumpController.c" "src/utils.c"];
Simulink.CodeImporter
| Simulink.CodeImporter.Function
| Simulink.CodeImporter.Options
| Simulink.CodeImporter.ParseInfo
| Simulink.CodeImporter.SimulinkPortSpecification
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.