Пакет: 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. См. разделы Блокировка вызывающего абонента Call C и Определение портов и Включение глобальных переменных в качестве функциональных интерфейсов.
Типы данных: logical scalar
FunctionArrayLayout - Макет массива по умолчанию для пользовательских функций кодаNotSpecified (по умолчанию) | RowMajor | ColumnMajor | AnyФормат массива по умолчанию для пользовательских функций кода, используемых для доступа к массивам входных аргументов, указанный как NotSpecified, RowMajor, ColumnMajor, или Any. Можно переопределить значение по умолчанию для отдельной функции с помощью ArrayLayout имущества Simulink.CodeImporter.Function объект, соответствующий этой функции. Матричные данные, передаваемые в и из функций C, преобразуются в указанный формат массива функций. См. разделы Интеграция кода 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.