Пакет: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.