Индивидуальная настройка процесса сборки
Для определенных приложений вы можете хотеть управлять аспектами процесса сборки, которые происходят после генерации исходного кода 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
ложь
). Программное обеспечение выполняет расширение 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'
Включение
, или '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
Похожие темы