Пакет: 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, .soOA, и .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.Options | Simulink.CodeImporter.ParseInfo | Simulink.CodeImporter.Function | Simulink.CodeImporter.SimulinkPortSpecification
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.