Пакет: Simulink.CodeImporter
Задайте настройки пользовательского кода для Simulink.CodeImporter
и sltest.CodeImporter
классы
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. Смотрите Вызов C Блок Вызывающей стороны и Задайте Порты и Включите глобальные переменные, когда функция взаимодействует через интерфейс.
Типы данных: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.