Индивидуальная настройка процесса сборки
Для определенных приложений вы можете хотеть управлять аспектами процесса сборки, которые происходят после генерации исходного кода C/C++, но перед компиляцией. Например, можно задать опции компоновщика или компилятор. Можно получить и изменить все сгенерированные исходные файлы, чтобы добавить правовую оговорку авторского права. Можно управлять процессом сборки во множестве путей. Настройте процесс сборки:
Используя функциональный coder.updateBuildInfo
.
Изменение информации о сборке при помощи класса coder.ExternalDependency
.
Изменение информации о сборке со скриптом или функцией, выполняемой свойством настройки PostCodeGenCommand
. Этот скрипт или функция называются командой постгенерации кода.
Все три из этих подходов работают путем изменения make-файла, который генерируется и используется, чтобы создать код. Как лучшая практика, рекомендуется использовать первые два подхода, coder.updateBuildInfo
и coder.ExternalDependency
. Эти подходы позволяют вам предварительно сконфигурировать свой код MATLAB® с информацией сборки, которую вы запрашиваете. Также команда генерации почтового индекса может обеспечить дополнительный, высоконастраиваемый подход, базирующийся вокруг независимой функции или скрипта.
Класс coder.ExternalDependency
и команда постгенерации кода обеспечивают доступ к информационному объекту сборки, buildInfo
. Можно использовать методы информации о сборке на buildInfo
, чтобы сконфигурировать проект, сборку и информацию о зависимостях. MATLAB Coder™ создает buildInfo
из класса RTW.BuildInfo
в начале сборки. Этот объект хранится в MAT-файле buildInfo.mat
и сохраненный в папке сборки.
После генерации кода можно получить доступ к информационному объекту сборки путем загрузки его от buildInfo.mat
. Не путайте информационный объект сборки с объектом конфигурации сборки, coder.BuildConfig
, который обеспечивает определенную функциональность для конфигурирования сборки в классе coder.ExternalDependency
.
Создайте информационные методы
Для доступа или записывают данные к информационному объекту сборки, используют методы информации о сборке. Используя эти методы можно изменить:
Параметры компилятора
Опции компоновщика
Определения идентификатора препроцессора
Исходные файлы и пути
Включайте файлы и пути
Предварительно скомпилированные внешние библиотеки
Упаковочные опции.
См. код пакета для других сред разработки.
Чтобы вызвать методы, используйте синтаксис:
Также можно войти:
addCompileFlags
Цель: Добавьте параметры компилятора, чтобы создать информацию.
Синтаксис: addCompileFlags(buildinfo
, options
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
options
Вектор символов, массив векторов символов или строка, которая задает параметры компилятора, которые будут добавлены к информации о сборке. Функция добавляет каждую опцию в конец вектора параметра компилятора. Если вы задаете несколько опций в односимвольном массиве, например, '-Zi -Wall'
, функция добавляет опции в вектор как один элемент. Например, если вы добавляете '-Zi -Wall'
и затем '-O3'
, вектор состоит из двух элементов, как показано ниже.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка это группирует заданные параметры компилятора. Можно использовать группы для
Можно применяться
Описание:
Функция addCompileFlags
добавляет заданные параметры компилятора в информацию о сборке проекта. MATLAB Coder хранит параметры компилятора в векторе. Функция добавляет опции в конец вектора на основе порядка, в котором вы задаете их.
addDefines
Цель: Добавьте макроопределения препроцессора, чтобы создать информацию.
Синтаксис: addDefines(buildinfo
, macrodefs
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
macrodefs
Вектор символов, массив векторов символов или строка, которая задает макроопределения препроцессора, которые будут добавлены к объекту. Функция добавляет каждое определение в конец вектора параметра компилятора. Если вы задаете повторные определения в односимвольном массиве, например, '-DRT -DDEBUG'
, функция добавляет опции в вектор как один элемент. Например, если вы добавляете '-DPROTO -DDEBUG'
и затем '-DPRODUCTION'
, вектор состоит из двух элементов, как показано ниже.
'-DPROTO -DDEBUG' '-DPRODUCTION'
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка это группирует заданные определения. Можно использовать группы для
Можно применяться
Описание:
Функция addDefines
добавляет заданные макроопределения препроцессора в информацию о сборке проекта. Программное обеспечение MATLAB Coder хранит определения в векторе. Функция добавляет определения в конец вектора на основе порядка, в котором вы задаете их.
addIncludeFiles
Цель: Добавьте включают файлы, чтобы создать информацию.
Синтаксис: addIncludeFiles(buildinfo
, filenames
, paths
, groups
)
paths
и groups
являются дополнительными.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
filenames
Вектор символов, массив векторов символов или строка, которая задает имена, включают файлы, которые будут добавлены к информации о сборке.
Имя файла может включать подстановочные символы, при условии, что точечный разделитель (.
) присутствует. Примерами является '*.*'
, '*.h'
и '*.h*'
.
Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Функция удаляет копию, включают записи файла это
Вы задаете, как введено
Уже существуйте во включать векторе файла
Имейте путь, который совпадает с путем соответствующего имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего имени файла.
- (Дополнительный)
paths
Вектор символов, массив векторов символов или строка, которая задает пути к включать файлам. Функция добавляет пути в конец вектора в порядке, что вы задаете их. Если вы задаете один путь как символьный массив, функция использует тот путь для всех файлов.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, которую задали группы, включают файлы. Можно использовать группы для
Можно применяться
Одно название группы к включать файлу
Одно название группы нескольким включает файлы
Несколько названий группы к наборам нескольких включают файлы
Описание:
Функция addIncludeFiles
добавляет заданный, включают файлы в информацию о сборке проекта. Программное обеспечение MATLAB Coder хранит включать файлы в векторе. Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Если вы принимаете решение указать, что groups
, но не использовать paths
, задает вектор нулевого символа (''
) для paths
.
addIncludePaths
Цель: Добавьте включают пути, чтобы создать информацию.
Синтаксис: addIncludePaths(buildinfo
, paths
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
paths
Вектор символов, массив векторов символов или строка, которая задает, включают пути к файлам, которые будут добавлены к информации о сборке. Функция добавляет пути в конец вектора в порядке, что вы задаете их.
Функция удаляет копию, включают записи файла это
Вы задаете, как введено
Уже существуйте во включать векторе тракта
Имейте путь, который совпадает с путем соответствующего имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего имени файла.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, которую задали группы, включают пути. Можно использовать группы для
Можно применяться
Одно название группы к включать пути
Одно название группы нескольким включает пути
Несколько названий группы к наборам нескольких включают пути
Описание:
Функция addIncludePaths
добавляет заданный, включают пути к информации о сборке проекта. Программное обеспечение MATLAB Coder хранит включать пути в векторе. Функция добавляет пути в конец вектора в порядке, что вы задаете их.
addLinkFlags
Цель: Добавьте опции ссылки, чтобы создать информацию.
Синтаксис: addLinkFlags(buildinfo
, options
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
options
Вектор символов, массив векторов символов или строка, которая задает опции компоновщика, которые будут добавлены к информации о сборке. Функция добавляет каждую опцию в конец вектора опции компоновщика. Если вы задаете несколько опций в односимвольном массиве, например, '-MD -Gy'
, функция добавляет опции в вектор как один элемент. Например, если вы добавляете '-MD -Gy'
и затем '-T'
, вектор состоит из двух элементов, как показано ниже.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, что группы задали опции компоновщика. Можно использовать группы для
Можно применяться
Описание:
Функция addLinkFlags
добавляет заданные опции компоновщика в информацию о сборке проекта. Программное обеспечение MATLAB Coder хранит опции компоновщика в векторе. Функция добавляет опции в конец вектора на основе порядка, в котором вы задаете их.
addLinkObjects
Цель: Добавьте объекты ссылки, чтобы создать информацию.
Синтаксис: addLinkObjects(buildinfo
, linkobjs
, paths
, priority
, precompiled
, linkonly
, groups
)
Аргументы кроме buildinfo
, linkobjs
и paths
являются дополнительными. Если вы задаете дополнительный аргумент, необходимо задать дополнительные аргументы, предшествующие ему.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
linkobjs
Вектор символов, массив векторов символов или строка, которая задает имена файлов связываемых объектов, которые будут добавлены к информации о сборке. Функция добавляет имена файлов, которые вы задаете в вызове функции к вектору, который хранит объектные имена файлов в порядке приоритетов. Если вы задаете несколько объектов, которые имеют тот же приоритет (см. priority
ниже), функция добавляет их в вектор на основе порядка, в котором вы задаете объектные имена файлов в массиве ячеек.
Функция удаляет дублирующиеся объекты ссылки это
Вы задаете, как введено
Уже существуйте в связываемом объектном векторе имени файла
Имейте путь, который совпадает с путем соответствующего связываемого объектного имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего связываемого объектного имени файла.
paths
Вектор символов, массив векторов символов или строка, которая задает пути к связываемым объектам. Если вы задаете символьный массив, путь применяется ко всем связываемым объектам.
- (Дополнительный)
priority
Числовое значение или вектор числовых значений, который указывает на относительный приоритет каждого заданного объекта ссылки. Нижние значения имеют более высокий приоритет. Приоритет по умолчанию 1000.
- (Дополнительный)
precompiled
true
логического значения или false
или вектор логических значений, который указывает, предварительно ли каждый заданный объект ссылки скомпилирован.
Задайте true
, если объект ссылки был предварительно создан для более быстрой компиляции и соединения и существует в заданном месте.
Если предварительно скомпилировано false
(значение по умолчанию), процесс сборки MATLAB Coder создает объект ссылки в папке сборки.
Этот аргумент проигнорирован, если linkonly
равняется true
.
- (Дополнительный)
linkonly
true
логического значения или false
или вектор логических значений, который указывает, должен ли каждый заданный объект ссылки использоваться только для соединения.
Задайте true
, если процесс сборки MATLAB Coder не должен создавать, ни генерировать правила в make-файле для создания, заданного объекта ссылки, но должен включать его при соединении итогового исполняемого файла. Например, можно использовать это, чтобы включить объекты ссылки, для которых исходные файлы не доступны. Если linkonly
верен, значение precompiled
проигнорировано.
Если linkonly
является false
(значение по умолчанию), управляет для создания объектов ссылки, добавляются к make-файлу. В этом случае значение precompiled
определяет, какой подраздел добавленных правил расширен, START_PRECOMP_LIBRARIES
(true
) или START_EXPAND_LIBRARIES
(false
). Программное обеспечение выполняет расширение START_PRECOMP_LIBRARIES
или макрос START_EXPAND_LIBRARIES
, только если ваша цель генерации кода использует подход make-файла шаблона для строительных норм и правил.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка это группирует заданные объекты ссылки. Можно использовать группы для
Можно применяться
Одно название группы к связываемому объекту
Одно название группы к нескольким связываемым объектам
Несколько название группы к наборам нескольких связываемых объектов
Значением по умолчанию groups
является {''}
.
Описание:
Функция addLinkObjects
добавляет заданные объекты ссылки в информацию о сборке проекта. Программное обеспечение MATLAB Coder хранит объекты ссылки в векторе в относительном порядке приоритетов. Если несколько объектов имеют тот же приоритет, или вы не задаете приоритеты, функция добавляет объекты в вектор на основе порядка, в котором вы задаете их.
Если вы принимаете решение задать дополнительный аргумент, необходимо задать дополнительные аргументы, предшествующие ему. Например, чтобы указать, что объекты предварительно скомпилированы с помощью аргумента precompiled
, необходимо задать аргумент priority
, который предшествует precompiled
. Вы могли передать приоритетное значение по умолчанию 1000, как показано ниже.
addLinkObjects(myBuildInfo, 'test1', '/proj/lib/lib1', 1000, true);
addNonBuildFiles
Цель: Добавьте связанные с несборкой файлы, чтобы создать информацию.
Синтаксис: addNonBuildFiles(buildinfo
, filenames
, paths
, groups
)
paths
и groups
являются дополнительными.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
filenames
Вектор символов, массив векторов символов или строка, которая задает имена связанных с несборкой файлов, которые будут добавлены к информации о сборке.
Имя файла может включать подстановочные символы, при условии, что точечный разделитель (.
) присутствует. Примерами является '*.*'
, '*.DLL'
и '*.D*'
.
Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Функция удаляет дублирующиеся записи файла несборки это
Уже существуйте в векторе файла несборки
Имейте путь, который совпадает с путем соответствующего имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего имени файла.
- (Дополнительный)
paths
Вектор символов, массив векторов символов или строка, которая задает пути к файлам несборки. Функция добавляет пути в конец вектора в порядке, что вы задаете их. Если вы задаете один путь как символьный массив, функция использует тот путь для всех файлов.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, что группы задали файлы несборки. Можно использовать группы для
Можно применяться
Одно название группы к файлу несборки
Одно название группы к нескольким файлам несборки
Несколько названий группы к наборам нескольких файлов несборки
Описание:
Функция addNonBuildFiles
добавляет заданные связанные с несборкой файлы, такие как файлы DLL, требуемые для итогового исполняемого файла или файла README, к информации о сборке проекта. Программное обеспечение MATLAB Coder хранит файлы несборки в векторе. Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Если вы принимаете решение указать, что groups
, но не использовать paths
, задает вектор нулевого символа (''
) для paths
.
addSourceFiles
Цель: Добавьте исходные файлы, чтобы создать информацию.
Синтаксис: addSourceFiles(buildinfo
, filenames
, paths
, groups
)
paths
и groups
являются дополнительными.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
filenames
Вектор символов, массив векторов символов или строка, которая задает имена исходных файлов, которые будут добавлены к информации о сборке.
Имя файла может включать подстановочные символы, при условии, что точечный разделитель (.
) присутствует. Примерами является '*.*'
, '*.c'
и '*.c*'
.
Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Функция удаляет дублирующиеся записи исходного файла это
Вы задаете, как введено
Уже существуйте в векторе исходного файла
Имейте путь, который совпадает с путем соответствующего имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего имени файла.
- (Дополнительный)
paths
Вектор символов, массив векторов символов или строка, которая задает пути к исходным файлам. Функция добавляет пути в конец вектора в порядке, что вы задаете их. Если вы задаете один путь как символьный массив, функция использует тот путь для всех файлов.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка это группирует заданные исходные файлы. Можно использовать группы для
Можно применяться
Одно название группы к исходному файлу
Одно название группы к нескольким исходным файлам
Несколько названий группы к наборам нескольких исходных файлов
Описание:
Функция addSourceFiles
добавляет заданные исходные файлы в информацию о сборке проекта. Программное обеспечение MATLAB Coder хранит исходные файлы в векторе. Функция добавляет имена файлов в конец вектора в порядке, что вы задаете их.
Если вы принимаете решение указать, что groups
, но не использовать paths
, задает вектор нулевого символа (''
) для paths
.
addSourcePaths
Цель: Добавьте исходные пути, чтобы создать информацию.
Синтаксис: addSourcePaths(buildinfo
, paths
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
paths
Вектор символов, массив векторов символов или строка, которая задает пути к исходному файлу, которые будут добавлены к информации о сборке. Функция добавляет пути в конец вектора в порядке, что вы задаете их.
Функция удаляет дублирующиеся записи исходного файла это
Вы задаете, как введено
Уже существуйте в исходном векторе тракта
Имейте путь, который совпадает с путем соответствующего имени файла
Дублирующаяся запись состоит из точного совпадения пути и соответствующего имени файла.
Примечание
Программное обеспечение MATLAB Coder не проверяет, допустим ли заданный путь.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, что группы задали исходные пути. Можно использовать группы для
Можно применяться
Одно название группы к исходному пути
Одно название группы к нескольким исходным путям
Несколько названий группы к наборам нескольких исходных путей
Описание:
Функция addSourcePaths
добавляет заданные исходные пути к информации о сборке проекта. Программное обеспечение MATLAB Coder хранит исходные пути в векторе. Функция добавляет пути в конец вектора в порядке, что вы задаете их.
Примечание
Программное обеспечение MATLAB Coder не проверяет, допустим ли заданный путь.
addTMFTokens
Примечание
Поддержка make-файлов шаблона (TMF) будет удалена в будущем релизе. Вместо этого используйте подход набора инструментальных средств для создания сгенерированного кода.
Цель: Добавьте make-файл шаблона (TMF) лексемы, которые предоставляют информацию о времени изготовления для генерации make-файла.
Синтаксис: addTMFTokens(buildinfo
, tokennames
, tokenvalues
, groups
)
groups
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
tokennames
Вектор символов, массив векторов символов или строка, которая задает имена лексем TMF (например, '|>CUSTOM_OUTNAME<|'
), чтобы быть добавленной к информации о сборке. Функция добавляет маркерные имена в конец вектора в порядке, что вы задаете их.
Если вы задаете маркерное имя, которое уже существует в векторе, первая инстанция более приоритетна и ее значение, используемое для замены.
tokenvalues
Вектор символов, массив векторов символов или строка, которая задает символические стоимости TMF, соответствующие ранее заданным маркерным именам TMF. Функция добавляет символические стоимости в конец вектора в порядке, что вы задаете их.
- (Дополнительный)
groups
Вектор символов, массив векторов символов или строка, что группы задали лексемы TMF. Можно использовать группы для
Можно применяться
Одно название группы к лексеме TMF
Одно название группы к нескольким лексемам TMF
Несколько названий группы к наборам нескольких лексем TMF
Описание:
Вызовите функцию addTMFTokens
в команде генерации кода сообщения, чтобы предоставить информацию о времени изготовления, чтобы помочь настроить генерацию make-файла. Лексемы, заданные в вызове функции addTMFTokens
, должны быть обработаны соответственно в make-файле шаблона (TMF) для цели, выбранной для вашего проекта. Например, если ваша команда генерации кода сообщения вызывает addTMFTokens
, чтобы добавить лексему TMF под названием |>CUSTOM_OUTNAME<|
, который задает имя выходного файла для сборки, TMF должен действовать на значение |>CUSTOM_OUTNAME<|
, чтобы достигнуть желаемого результата.
Функция addTMFTokens
добавляет заданные маркерные имена TMF и значения к информации о сборке проекта. Программное обеспечение MATLAB Coder хранит лексемы TMF в векторе. Функция добавляет лексемы в конец вектора в порядке, что вы задаете их.
findIncludeFiles
Цель: Найдите и добавьте, включают (заголовок) файлы, чтобы создать информацию.
Синтаксис: findIncludeFiles(buildinfo
, extPatterns
)
extPatterns
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
extPatterns
Массив ячеек из символьных векторов или массив строк, который задает шаблоны расширений файла, которые должна искать функция. Каждый шаблон
Шаблоном по умолчанию является *.h
.
Примеры допустимых шаблонов включают
Описание:
Функция findIncludeFiles
Поиски включают файлы, на основе заданных шаблонов расширения файла, в источнике и включают пути, зарегистрированные в информационный объект сборки проекта
Добавляют найденные файлы, наряду с их полными путями, к информационному объекту сборки
Удаляет дублирующиеся записи
getCompileFlags
Цель: Получите параметры компилятора от информации о сборке.
Синтаксис: options
=
getCompileFlags(buildinfo
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы флагов компилятора, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы флагов компилятора, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Параметры компилятора сохранены в информации о сборке проекта.
Описание:
Функция getCompileFlags
возвращает параметры компилятора, сохраненные в информации о сборке проекта. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы опций, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getDefines
Цель: Получите макроопределения препроцессора от информации о сборке.
Синтаксис: [macrodefs
, identifiers
, values
]
= getDefines(buildinfo
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы макроопределений, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы макроопределений, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Макроопределения препроцессора сохранены в информации о сборке проекта. Функция возвращает макроопределения в трех векторах.
Вектор | Описание |
---|
macrodefs
| Полные макроопределения с префиксом -D |
identifiers
| Имена макросов |
values
| Значения присвоили макросам (что-либо заданное справа от первого равняется знаку); значением по умолчанию является пустой символьный вектор ('' ) |
Описание:
Функция getDefines
возвращает макроопределения препроцессора, сохраненные в информации о сборке проекта. Когда функция возвращает определение, это автоматически
Предварительно ожидает -D
к определению, если -D
не был задан, когда определение было добавлено к информации о сборке
Изменяет строчный -d
на -D
Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы определений, которые должна возвратить функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getFullFileList
Цель: Получите Все файлы от информации о сборке проекта.
Синтаксис: [fPathNames
, names
]
= getFullFileList(buildinfo
, fcase
)
fcase
является дополнительным.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
fcase
Вектор символов 'source'
, 'include'
или 'nonbuild'
. Если аргумент не использован, функция возвращает все файлы в информационный объект сборки.
Если вы задаете | Функция |
---|
'source' | Возвращает исходные файлы в информационный объект сборки. |
'include' | Возвращается включают файлы от информационного объекта сборки. |
'nonbuild' | Возвращает файлы несборки в информационный объект сборки. |
Выходные аргументы:
Полностью определенные пути к файлам и имена файлов для файлов сохранены в информации о сборке проекта.
Примечание
Обычно является ненужным разрешить путь каждого файла в информации о сборке проекта, потому что make-файл для сборки проекта разрешит расположение файлов на основе исходных путей и правил. Поэтому getFullFileList
возвращает путь для каждого файла, только если путь был явным образом сопоставлен с файлом, когда было добавлено, или если вы вызвали updateFilePathsAndExtensions
, чтобы разрешить пути к файлам и расширения прежде, чем вызвать getFullFileList
.
Описание:
Функция getFullFileList
возвращает полностью определенные пути, и имена всех файлов или файлов выбранного типа (источник, включайте, или несборка), сохраненный в информации о сборке проекта.
getIncludeFiles
Цель: Доберитесь включают файлы от информации о сборке.
Синтаксис: files
=
getIncludeFiles(buildinfo
, concatenatePaths
, replaceMatlabroot
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
concatenatePaths
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Конкатенации и возвращают каждое имя файла с его соответствующим путем. |
false | Возвращает только имена файлов. |
replaceMatlabroot
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Заменяет маркерный $(MATLAB_ROOT) на абсолютный путь для вашей папки установки MATLAB. |
false | Не заменяет маркерный $(MATLAB_ROOT) . |
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы, включают файлы, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы, включают файлы, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Имена включают файлы, хранившие в информацию о сборке проекта.
Описание:
Функция getIncludeFiles
возвращается, имена включают файлы, хранившие в информацию о сборке проекта. Используйте аргументы concatenatePaths
и replaceMatlabroot
, чтобы управлять, включает ли функция пути и ваше корневое определение MATLAB в выходном параметре, который это возвращает. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы, включают файлы, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getIncludePaths
Цель: Доберитесь включают пути от информации о сборке.
Синтаксис: files
=getIncludePaths(buildinfo
, replaceMatlabroot
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
replaceMatlabroot
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Заменяет маркерный $(MATLAB_ROOT) на абсолютный путь для вашей папки установки MATLAB. |
false | Не заменяет маркерный $(MATLAB_ROOT) . |
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы, включают пути, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы, включают пути, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Пути включают файлы, хранившие в информационный объект сборки.
Описание:
Функция getIncludePaths
возвращается, имена включают пути к файлам, сохраненные в информацию о сборке проекта. Используйте аргумент replaceMatlabroot
, чтобы управлять, включает ли функция ваше корневое определение MATLAB в выходной параметр, который это возвращает. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы, включают пути к файлам, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getLinkFlags
Цель: Получите опции ссылки от информации о сборке.
Синтаксис: options
=getLinkFlags(buildinfo
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы флагов компоновщика, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы флагов компоновщика, которые вы не хотите, чтобы функция возвратила. Чтобы исключить группы и не включать определенные группы, задайте массив пустой ячейки (''
) для includeGroups
.
Выходные аргументы:
Опции компоновщика сохранены в информации о сборке проекта.
Описание:
Функция getLinkFlags
возвращает опции компоновщика, сохраненные в информации о сборке проекта. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы опций, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getNonBuildFiles
Цель: Получите связанные с несборкой файлы от информации о сборке.
Синтаксис: files
=getNonBuildFiles(buildinfo
, concatenatePaths
, replaceMatlabroot
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
concatenatePaths
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Конкатенации и возвращают каждое имя файла с его соответствующим путем. |
false | Возвращает только имена файлов. |
replaceMatlabroot
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Заменяет маркерный $(MATLAB_ROOT) на абсолютный путь для вашей папки установки MATLAB. |
false | Не заменяет маркерный $(MATLAB_ROOT) . |
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы файлов несборки, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы файлов несборки, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Имена файлов несборки сохранены в информации о сборке проекта.
Описание:
Функция getNonBuildFiles
возвращает имена связанных с несборкой файлов, такие как файлы DLL, требуемые для итогового исполняемого файла или файла README, хранившего в информации о сборке проекта. Используйте аргументы concatenatePaths
и replaceMatlabroot
, чтобы управлять, включает ли функция пути и ваше корневое определение MATLAB в выходном параметре, который это возвращает. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы файлов несборки, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getSourceFiles
Цель: Получите исходные файлы от информации о сборке проекта.
Синтаксис: srcfiles
=getSourceFiles(buildinfo
, concatenatePaths
, replaceMatlabroot
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
concatenatePaths
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Конкатенации и возвращают каждое имя файла с его соответствующим путем. |
false | Возвращает только имена файлов. |
Примечание
Обычно является ненужным разрешить путь каждого файла в информации о сборке проекта, потому что make-файл для сборки проекта разрешит расположение файлов на основе исходных путей и правил. Поэтому определение верного для concatenatePaths
возвращает путь для каждого файла, только если путь был явным образом сопоставлен с файлом, когда было добавлено, или если вы вызвали updateFilePathsAndExtensions
, чтобы разрешить пути к файлам и расширения прежде, чем вызвать getSourceFiles
.
replaceMatlabroot
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Заменяет маркерный $(MATLAB_ROOT) на абсолютный путь для вашей папки установки MATLAB. |
false | Не заменяет маркерный $(MATLAB_ROOT) . |
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы исходных файлов, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы исходных файлов, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Имена исходных файлов сохранены в информации о сборке проекта.
Описание:
Функция getSourceFiles
возвращает имена исходных файлов, сохраненных в информации о сборке проекта. Используйте аргументы concatenatePaths
и replaceMatlabroot
, чтобы управлять, включает ли функция пути и ваше корневое определение MATLAB в выходном параметре, который это возвращает. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы исходных файлов, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
getSourcePaths
Цель: Получите исходные пути от информации о сборке.
Синтаксис: files
=getSourcePaths(buildinfo
, replaceMatlabroot
, includeGroups
, excludeGroups
)
includeGroups
и excludeGroups
являются дополнительными.
Входные параметры:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
replaceMatlabroot
Логическое значение true
или false
.
Если вы задаете | Функция |
---|
true | Заменяет маркерный $(MATLAB_ROOT) на абсолютный путь для вашей папки установки MATLAB. |
false | Не заменяет маркерный $(MATLAB_ROOT) . |
- (Дополнительный)
includeGroups
Массив ячеек из символьных векторов или строка, которая задает группы исходных путей, которые вы хотите, чтобы функция возвратила.
- (Дополнительный)
excludeGroups
Массив ячеек из символьных векторов или строка, которая задает группы исходных путей, которые вы не хотите, чтобы функция возвратила.
Выходные аргументы:
Пути исходных файлов сохранены в информации о сборке проекта.
Описание:
Функция getSourcePaths
возвращает имена путей к исходному файлу, сохраненных в информации о сборке проекта. Используйте аргумент replaceMatlabroot
, чтобы управлять, включает ли функция ваше корневое определение MATLAB в выходной параметр, который это возвращает. Используя дополнительные аргументы includeGroups
и excludeGroups
, можно выборочно включать или исключить группы путей к исходному файлу, которые возвращает функция.
Если вы принимаете решение задать excludeGroups
и не использовать includeGroups
, задайте вектор нулевого символа (''
) для includeGroups
.
packNGo
updateFilePathsAndExtensions
Цель: Обновите файлы в информации о сборке проекта с недостающими путями и расширениями файла.
Синтаксис: updateFilePathsAndExtensions(buildinfo
, extensions
)
extensions
является дополнительным.
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
- (Дополнительный)
extensions
Массив ячеек из символьных векторов или строка, которая задает расширения (типы файлов) файлов, которые можно искать и включать в обработку обновления. По умолчанию функция ищет файлы с расширением .c
. Функция проверяет файлы и обновляет пути и расширения на основе порядка, в котором вы перечисляете расширения в массиве ячеек. Например, если вы задаете {'.c' '.cpp'}
, и папка содержит myfile.c
и myfile.cpp
, экземпляр myfile
обновляется к myfile.c
.
Описание:
Используя пути, которые уже существуют в информации о сборке проекта, проверки функции updateFilePathsAndExtensions
, должны ли ссылки на файл в информации о сборке быть обновлены с путем или расширением файла. Эта функция может быть особенно полезна для
Поддержание информации о сборке для набора инструментальных средств, который требует использования расширений файла
Обновление нескольких индивидуально настраиваемых экземпляров информации о сборке для данного проекта
updateFileSeparator
Цель: Измените разделитель файлов, используемый в информации о сборке проекта.
Синтаксис: updateFileSeparator(buildinfo
, separator
)
Аргументы:
buildinfo
Создайте информацию, хранившую в RTW.BuildInfo
.
separator
Вектор символов, который задает разделитель файлов \(Windows®) или / (UNIX®), который будет применен к спецификациям пути к файлу.
Описание:
Функция updateFileSeparator
изменяет экземпляры текущего разделителя файлов (/или \) в информации о сборке проекта к заданному разделителю файлов.
Значение по умолчанию для разделителя файлов совпадает со значением, возвращенным командой MATLAB filesep
. Для основанных на make-файле сборок можно заменить значение по умолчанию путем определения разделителя с макросом MAKEFILE_FILESEP
в make-файле шаблона. Если параметр GenerateMakefile
устанавливается, программное обеспечение MATLAB Coder заменяет разделитель по умолчанию и обновляет информацию о сборке после оценки параметра конфигурации PostCodeGenCommand
.
Чтобы использовать информационный объект сборки после, генерация кода завершена, загрузите файл buildInfo.mat
от своего сгенерированного кода. Например:
Функция coder.updateBuildInfo
Функция coder.updateBuildInfo
обеспечивает удобный способ настроить процесс сборки из вашего кода MATLAB. Для получения дополнительной информации и примеры, смотрите страницу с описанием coder.updateBuildInfo
.
Класс coder.ExternalDependency
Когда вы работаете с внешней интеграцией кода, или у вас есть несколько функций, которые используют ту же информацию о сборке, настраивают процесс сборки при помощи класса coder.ExternalDependency
. Класс coder.ExternalDependency
обеспечивает доступ к информационному объекту сборки и методам. Для получения дополнительной информации и примеры, смотрите, Разрабатывают Интерфейс для Внешнего Кода C/C++ и страницы с описанием coder.ExternalDependency
.
Команда постгенерации кода
Как лучшая практика, настройте свой процесс сборки при помощи первых двух подходов, coder.updateBuildInfo
и coder.ExternalDependency
. Третий подход, который обеспечивает дополнительную гибкость, является командой постгенерации кода. Команда постгенерации кода является функцией или скриптом, выполняемым свойством объекта настройки PostCodeGenCommand
. Установите команду при помощи своего объекта настройки генерации кода (coder.MexCodeConfig
, coder.CodeConfig
или coder.EmbeddedCodeConfig
).
Формат команды | Результат |
---|
Скрипт | Скрипт может получить доступ к проекту (функция верхнего уровня) имя и информация о сборке непосредственно. |
Функция | Функция может получить название проекта и информацию о сборке в качестве аргументов. |
Чтобы записать команду генерации кода сообщения как скрипт, установите PostCodeGenCommand
на имя скрипта. Можно получить доступ к названию проекта в переменной projectName
и объекту RTW.BuildInfo
в переменной buildInfo
. В командной строке, введите:
Когда вы задаете команду как функцию, можно задать произвольное число входных параметров. Если вы хотите получить доступ к названию проекта, включайте projectName
как аргумент. Если вы хотите изменить или получить доступ к информации о сборке, добавьте buildInfo
в качестве аргумента. В командной строке, введите:
Например, рассмотрите функциональный setbuildargs
, который берет информационный объект сборки в качестве параметра и добавляет опции компоновщика при помощи метода addLinkFlags
.
Чтобы использовать эту функцию в качестве команды постгенерации кода, создайте объект настройки. Используйте этот объект настройки, когда вы сгенерируете код. Например:
Установить команду постгенерации кода из приложения MATLAB Coder:
Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стрелке Generate.
Нажмите More Settings.
На вкладке Custom Code, установленной параметр Post-code-generation command.
Если ваша команда постгенерации кода вызывает пользовательские функции, убедитесь, что функции находятся на пути MATLAB. Если процесс сборки не может найти функцию, которую вы используете в своей команде, сбоях процесса.
Смотрите также
coder.CodeConfig
| coder.EmbeddedCodeConfig
| coder.ExternalDependency
| coder.MexCodeConfig
| coder.updateBuildInfo
Похожие темы