Создайте совместно использованную библиотеку C++
compiler.build.cppSharedLibrary(
создает совместно использованную библиотеку C++ с помощью MATLAB® файлы заданы FunctionFiles
)FunctionFiles
. Установите поддерживаемый компилятор C++ перед использованием этой функции.
compiler.build.cppSharedLibrary(
создает совместно использованную библиотеку C++ с опциями, заданными с помощью одних или нескольких аргументов name-value. Опции включают интерфейс API, имя библиотеки, и выводят директорию.FunctionFiles
,Name,Value
)
compiler.build.cppSharedLibrary(
создает совместно использованную библиотеку C++ с опциями, заданными с помощью opts
)compiler.build.CppSharedLibraryOptions
объект opts
. Вы не можете задать никакие другие опции с помощью аргументов name-value.
Создайте совместно использованную библиотеку C++ с помощью файла функции, который добавляет две матрицы.
В MATLAB найдите функцию MATLAB, которую вы хотите развернуть как библиотека C++. В данном примере используйте файл addmatrix.m
расположенный в
.matlabroot
\extern\examples\compilersdk\c_cpp\matrix
appFile = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','addmatrix.m');
Создайте библиотеку C++ с помощью compiler.build.cppSharedLibrary
команда.
compiler.build.cppSharedLibrary(appFile);
Функция сборки генерирует следующие файлы в папке под названием addmatrixcppSharedLibrary
в вашей текущей рабочей директории:
GettingStarted.html
— Файл HTML, который содержит информацию об интеграции вашей разделяемой библиотеки.
includedSupportPackages.txt
— Текстовый файл, который перечисляет все файлы поддержки, включенные в библиотеку.
mccExcludedFiles.log
— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.
readme.txt
— Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
requiredMCRProducts.txt
— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
v2\generic_interface\readme.txt
— Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
v2\generic_interface\magicsquare.ctf
— Файл технологии компонентов, который содержит развертываемый архив.
Чтобы реализовать вашу разделяемую библиотеку, смотрите Реализацию MATLAB Data API C++ Разделяемая Библиотека с Приложением Драйвера.
Создайте библиотеку C++ и настройте ее с помощью аргументов name-value.
В данном примере используйте файл addmatrix.m
расположенный в
.matlabroot
\extern\examples\compilersdk\c_cpp\matrix
appFile = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','addmatrix.m');
Сохраните следующий код в файле примера под названием addmatrixSample1.m
:
a1 = [1 4 7; 2 5 8; 3 6 9]; a2 = a1; a = addmatrix(a1, a2);
Создайте библиотеку C++ с помощью compiler.build.cppSharedLibrary
команда. Используйте аргументы name-value, чтобы задать имя библиотеки, добавить файл примера и использовать mwArray
интерфейс.
compiler.build.cppSharedLibrary(appFile,'LibraryName','mwa_addmatrix',... 'SampleGenerationFiles','addmatrixSample1.m',... 'Interface','mwarray');
Функция сборки создает следующие файлы в папке под названием mwa_addmatrixcppSharedLibrary
в вашей текущей рабочей директории:
samples\addmatrixSample1_mwarray.cpp
— Демонстрационный файл драйвера C++.
GettingStarted.html
— Файл, который содержит информацию об интеграции вашей разделяемой библиотеки.
includedSupportPackages.txt
— Текстовый файл, который перечисляет все файлы поддержки, включенные в библиотеку.
mwa_addmatrix.cpp
— Файл исходного кода C++.
mwa_addmatrix.def
— Файл определения модуля, который предоставляет компоновщику информацию о модуле.
mwa_addmatrix.dll
— Файл динамически подключаемой библиотеки.
mwa_addmatrix.exports
— Файл экспорта, который содержит все нестатические имена функций.
mwa_addmatrix.h
— Заголовочный файл C++.
mwa_addmatrix.lib
— Импортируйте файл библиотеки.
mccExcludedFiles.log
— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.
readme.txt
— Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
requiredMCRProducts.txt
— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
Чтобы реализовать вашу разделяемую библиотеку, смотрите Реализацию C++ mwArray API Разделяемая Библиотека с Приложением Драйвера.
Создайте несколько библиотек C++ с помощью a compiler.build.CppSharedLibraryOptions
объект.
В данном примере используйте файл addmatrix.m
расположенный в
.matlabroot
\extern\examples\compilersdk\c_cpp\matrix
appFile = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','addmatrix.m');
Создайте CppSharedLibraryOptions
объект с помощью appFile
. Используйте аргументы name-value, чтобы задать общую выходную директорию, включить отладочные символы и включить многословный выход.
opts = compiler.build.CppSharedLibraryOptions(appFile,... 'OutputDir','D:\Documents\MATLAB\work\CppLibraryBatch',... 'DebugBuild,'on',... 'Verbose','on')
opts =
CppSharedLibraryOptions with properties:
Interface: 'matlab-data'
LibraryVersion: '1.0.0.0'
SampleGenerationFiles: {}
FunctionFiles: {'C:\Program Files\MATLAB\R2021b\extern\examples\compilersdk\c_cpp\addmatrix.m'}
DebugBuild: on
LibraryName: 'addmatrix'
AdditionalFiles: {}
AutoDetectDataFiles: on
SupportPackages: {'autodetect'}
Verbose: on
OutputDir: 'D:\Documents\MATLAB\work\CppLibraryBatch'
Создайте совместно использованную библиотеку C++ с помощью CppSharedLibraryOptions
объект.
compiler.build.cppSharedLibrary(opts);
Создать новую библиотеку с помощью файла функции subtractmatrix.m
с теми же опциями используйте запись через точку, чтобы изменить FunctionFiles
аргумент существующего CppSharedLibrary
объект прежде, чем запустить сборку функционирует снова.
opts.FunctionFiles = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','subtractmatrix.m'); compiler.build.cppSharedLibrary(opts);
Путем изменения FunctionFiles
аргумент и рекомпиляция, можно скомпилировать несколько библиотек с помощью того же объекта опций.
Создайте библиотеку C++ и сохраните информацию о типе сборки, скомпилированных файлах, пакетах поддержки, и создайте опции к compiler.build.Results
объект.
Компиляция с помощью файла magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
results = compiler.build.cppSharedLibrary('magicsquare.m')
results = Results with properties: BuildType: 'cppSharedLibrary' Files: {2×1 cell} IncludedSupportPackages: {} Options: [1×1 compiler.build.CppSharedLibraryOptions]
Files
свойство содержит пути к v2
папка и GettingStarted.html
.
FunctionFiles
— Файлы, реализующие функции MATLABФайлы, реализующие функции MATLAB в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m
расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char |
string
| cell
opts
— Библиотека C++ создает опцииcompiler.build.CppSharedLibraryOptions
объектБиблиотека C++ создает опции в виде a compiler.build.CppSharedLibraryOptions
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Verbose','on'
AdditionalFiles
— Дополнительные файлыДополнительные файлы, чтобы включать в C++ совместно использовали библиотеку в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта.
Пример: 'AdditionalFiles',["myvars.mat","data.txt"]
Типы данных: char |
string
| cell
AutoDetectDataFiles
— Отметьте, чтобы автоматически включать файлы данных'on'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы автоматически включать файлы данных в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем файлы данных, которые вы предоставляете как входные параметры определенным функциям (такой как load
и fopen
) автоматически включены в разделяемую библиотеку.
Если вы устанавливаете это свойство на 'off'
, затем необходимо добавить файлы данных в разделяемую библиотеку с помощью AdditionalFiles
свойство.
Пример: 'AutoDetectDataFiles','off'
Типы данных: логический
DebugBuild
— Отметьте, чтобы включить отладочные символы'off'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы включить отладочные символы в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем скомпилированная библиотека содержит отладочные символы.
Если вы устанавливаете это свойство на 'off'
, затем скомпилированная библиотека не содержит отладочные символы.
Пример: 'DebugBuild','on'
Типы данных: логический
Interface
— Интерфейсный API'matlab-data'
(значение по умолчанию) | 'mwarray'
Интерфейсный API в виде одной из следующих опций:
'matlab-data'
— Сгенерируйте совместно использованные библиотеки с помощью MATLAB Data API.
'mwarray'
— Сгенерируйте совместно использованные библиотеки с помощью mwArray
API.
Для получения дополнительной информации смотрите Выбор API для C++ Разделяемая Библиотека.
Пример: 'Interface','mwarray'
LibraryName
— Имя C++ совместно использовало библиотекуИмя C++ совместно использовало библиотеку в виде вектора символов или строкового скаляра. Имя по умолчанию сгенерированной библиотеки является первой записью FunctionFiles
аргумент.
Пример: 'LibraryName','mymagic'
Типы данных: char |
string
OutputDir
— Путь, чтобы вывести директориюПуть к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.
Имя по умолчанию папки сборки является именем библиотеки, добавленным с cppSharedLibrary
.
Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagiccppSharedLibrary'
Типы данных: char |
string
SampleGenerationFiles
— Файлы примера MATLABФайлы примера MATLAB раньше генерировали демонстрационные файлы библиотеки C++ для функций, включенных в библиотеке в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m
расширение. Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char |
string
| cell
SupportPackages
— Пакеты поддержки'autodetect'
(значение по умолчанию) | 'none'
| строковый скаляр | массив ячеек из символьных векторов | массив строкПакеты поддержки, чтобы включать в виде одной из следующих опций:
'autodetect'
(значение по умолчанию) — Процесс анализа зависимостей обнаруживает и включает необходимые пакеты поддержки автоматически.
'none'
— Никакие пакеты поддержки не включены. Используя эту опцию может вызвать ошибки периода выполнения.
Строковый скаляр, вектор символов или массив ячеек из символьных векторов — Только заданные пакеты поддержки включены. Чтобы перечислить установленные пакеты поддержки или используемых определенным файлом, смотрите compiler.codetools.deployableSupportPackages
.
.
Пример: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}
Типы данных: char |
string
| cell
Verbose
— Отметьте, чтобы управлять многословием сборки'off'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы управлять многословием сборки в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем окно команды MATLAB отображает информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
Если вы устанавливаете это свойство на 'off'
, затем командное окно не отображает информацию о прогрессе.
Пример: 'Verbose','on'
Типы данных: логический
results
— Создайте результатыcompiler.build.Results
объектСоздайте результаты, возвращенные как compiler.build.Results
объект. Results
объект содержит:
Создайте тип, который является 'cppSharedLibrary'
Пути к следующему:
GettingStarted.html
v2
папка (matlab-data
взаимодействуйте через интерфейс только),
(LibraryName
.dllmwArray
взаимодействуйте через интерфейс только),
(LibraryName
.libmwArray
взаимодействуйте через интерфейс только),
(LibraryName
HmwArray
взаимодействуйте через интерфейс только),
Список включенных пакетов поддержки
Создайте опции в виде CppSharedLibraryOptions
объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.