Создайте общую библиотеку C++
compiler.build.cppSharedLibrary( создает общую библиотеку C++ с помощью MATLAB® файлы, заданные FunctionFiles)FunctionFiles. Установите поддерживаемый компилятор C++ перед использованием этой функции.
compiler.build.cppSharedLibrary( создает общую библиотеку C++ с опциями, заданными с помощью одного или нескольких аргументов имя-значение. Опции включают API интерфейса, имя библиотеки и выходная директория.FunctionFiles,Name,Value)
compiler.build.cppSharedLibrary( создает общую библиотеку C++ с опциями, заданными с помощью opts)compiler.build.CppSharedLibraryOptions opts объекта. Вы не можете задать какие-либо другие опции, используя аргументы имя-значение.
Создайте общую библиотеку 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);
Функция сборки генерирует следующие файлы в папке с именем magicsquarecppSharedLibrary в вашей текущей рабочей директории:
GettingStarted.html - HTML, содержащий информацию об интеграции вашей общей библиотеки.
mccExcludedFiles.log - Файл журнала, содержащий список функций тулбокса, не включенных в приложение. Для получения информации о не поддерживаемых функциях смотрите MATLAB Compiler Limitations.
readme.txt - файл Readme, содержащий информацию о необходимых условиях развертывания и списке файлов, подлежащих упаковке для развертывания.
requiredMCRProducts.txt - Текстовый файл, содержащий идентификаторы продуктов, требуемых MATLAB Runtime для запуска приложения.
unresolvedSymbols.txt - Текстовый файл, содержащий информацию о неразрешенных символах.
v2\generic_interface\magicsquare.ctf - Файл технологии компонента, содержащий развертываемый архив.
Для реализации вашей общей библиотеки смотрите Реализация общей библиотеки MATLAB Data API с приложением драйвера.
Создайте библиотеку C++ и настройте ее с помощью аргументов имя-значение.
В данном примере используйте файл 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 команда. Используйте аргументы имя-значение, чтобы задать имя библиотеки, добавить образец файла и использовать mwArray интерфейс.
compiler.build.cppSharedLibrary(appFile,'LibraryName','mwa_addmatrix',... 'SampleGenerationFiles','addmatrixSample1.m',... 'Interface','mwarray');
Функция сборки создает следующие файлы в папке с именем mwa_addmatrixcppSharedLibrary в вашей текущей рабочей директории:
samples\addmatrixSample1_mwarray.cpp - Образец файла драйвера C++.
GettingStarted.html - Файл, содержащий информацию об интеграции вашей общей библиотеки.
mwa_addmatrix.cpp - файл исходного кода C++.
mwa_addmatrix.def - Файл определения модуля, который предоставляет компоновщику информацию о модуле.
mwa_addmatrix.dll - файл библиотеки динамических ссылок.
mwa_addmatrix.exports - Экспортирует файл, который содержит все нестатические имена функции.
mwa_addmatrix.h - файл заголовка C++.
mwa_addmatrix.lib - Импорт файла библиотеки.
mccExcludedFiles.log - Файл журнала, содержащий список функций тулбокса, не включенных в приложение. Для получения информации о не поддерживаемых функциях смотрите MATLAB Compiler Limitations.
readme.txt - файл Readme, содержащий информацию о необходимых условиях развертывания и списке файлов, подлежащих упаковке для развертывания.
requiredMCRProducts.txt - Текстовый файл, содержащий идентификаторы продуктов, требуемых MATLAB Runtime для запуска приложения.
unresolvedSymbols.txt - Текстовый файл, содержащий информацию о неразрешенных символах.
Для реализации вашей общей библиотеки смотрите Реализация общей библиотеки API C++ mwArray с приложением драйвера.
Создайте несколько библиотек 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. Используйте аргументы имя-значение, чтобы задать общую выходную директорию, добавить MAT-файл и включить подробный выход.
opts = compiler.build.CppSharedLibraryOptions(appFile,... 'OutputDir','D:\Documents\MATLAB\work\CppLibraryBatch',... 'AdditionalFiles','myvars.mat',... 'Verbose','on')
opts =
CppSharedLibraryOptions with properties:
Interface: 'matlab-data'
LibraryVersion: '1.0.0.0'
SampleGenerationFiles: {}
FunctionFiles: {'C:\Program Files\MATLAB\R2021a\extern\examples\compilersdk\c_cpp\addmatrix.m'}
DebugBuild: off
LibraryName: 'addmatrix'
AdditionalFiles: {'D:\Documents\MATLAB\work\myvars.mat'}
AutoDetectDataFiles: on
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\примеры\компилятор
results = compiler.build.cppSharedLibrary('magicsquare.m')results =
Results with properties:
BuildType: 'cppSharedLibrary'
Files: {2×1 cell}
Options: [1×1 compiler.build.CppSharedLibraryOptions]The Files свойство содержит пути к v2 папка и GettingStarted.html.
FunctionFiles - Файлы, реализующие функции MATLABФайлы, реализующие функции MATLAB, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char | string | cell
opts - Опции сборки библиотеки C++compiler.build.CppSharedLibraryOptions объектОпции сборки библиотеки C++, заданные как 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 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.
Если вы задаете это свойство равным 'on', затем файлы данных, которые вы предоставляете в качестве входов для определенных функций (таких как load и fopen) автоматически включаются в общую библиотеку.
Если вы задаете это свойство равным 'off', затем необходимо добавить файлы данных в общую библиотеку с помощью AdditionalFiles свойство.
Пример: 'AutoDetectDataFiles','off'
Типы данных: logical
'DebugBuild' - Флаг для включения отладки символов'off' (по умолчанию) | логическое значение включения/выключенияФлаг для включения отладки символов, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.
Если вы задаете это свойство равным 'on', затем скомпилированная библиотека содержит символы отладки.
Если вы задаете это свойство равным 'off', тогда скомпилированная библиотека не содержит символов отладки.
Пример: 'DebugBuild','on'
Типы данных: logical
'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' - Путь к выходной директорииПуть к выходу директории, где сохраняются файлы сборки, задается в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолютным.
Именем по умолчанию для папки сборки является имя библиотеки, добавленное в cppSharedLibrary.
Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagiccppSharedLibrary'
Типы данных: char | string
'SampleGenerationFiles' - Образцы файлов MATLABMATLAB выборки файлов, используемых для генерации образцов файлов библиотеки C++ для функций, включенных в библиотеку, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек из векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение. Для получения дополнительной информации и ограничений см. Пример создания файла драйвера.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char | string | cell
'Verbose' - Флаг для управления подробностями сборки'off' (по умолчанию) | логическое значение включения/выключенияФлаг для управления подробностями сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.
Если вы задаете это свойство равным 'on', затем в командном окне MATLAB отображается информация о прогрессе, указывающая на выход компилятора в процессе сборки.
Если вы задаете это свойство равным 'off'затем командное окно не отображает информацию о прогрессе.
Пример: 'Verbose','on'
Типы данных: logical
results - Результаты сборкиcompiler.build.Results объектРезультаты построения, возвращенные как compiler.build.Results объект. The Results объект содержит:
Тип сборки, который 'cppSharedLibrary'
Пути к следующим:
GettingStarted.html
v2 папка (matlab-data интерфейс)
(LibraryName.dllmwArray интерфейс)
(LibraryName.libmwArray интерфейс)
(LibraryName.hmwArray интерфейс)
Опции сборки, заданные как CppSharedLibraryOptions объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.