Создание общей библиотеки 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. Другие параметры нельзя задать с помощью аргументов «имя-значение».
возвращает информацию о построении в виде results = compiler.build.cppSharedLibrary(___)compiler.build.Results с использованием любой из комбинаций входных аргументов в предыдущих синтаксисах. Сведения о построении состоят из типа построения, путей к скомпилированным файлам и параметров построения.
Создайте общую библиотеку 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.
readme.txt - файл Readme, содержащий сведения о предпосылках развертывания и список файлов для пакета для развертывания.
requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.
unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.
v2\generic_interface\magicsquare.ctf - файл технологии компонентов, содержащий развертываемый архив.
Сведения о внедрении общей библиотеки см. в разделе Внедрение общей библиотеки C++ 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.
readme.txt - файл Readme, содержащий сведения о предпосылках развертывания и список файлов для пакета для развертывания.
requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.
unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.
Сведения о внедрении общей библиотеки см. в разделе Внедрение общей библиотеки API C++ mwArray с приложением драйвера.
Создание нескольких библиотек C++ с помощью 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\examples\compiler
results = compiler.build.cppSharedLibrary('magicsquare.m')results =
Results with properties:
BuildType: 'cppSharedLibrary'
Files: {2×1 cell}
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++, указанные как 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Флажок для автоматического включения файлов данных, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on', то файлы данных, которые вы предоставляете в качестве входных данных для определенных функций (таких как load и fopen) автоматически включаются в общую библиотеку.
Если для этого свойства задано значение 'off', то необходимо добавить файлы данных в общую библиотеку с помощью AdditionalFiles собственность.
Пример: 'AutoDetectDataFiles','off'
Типы данных: logical
'DebugBuild' - Флаг для включения символов отладки'off' (по умолчанию) | логическое значение on/offФлаг для включения символов отладки, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл 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' - Образцы файлов MATLABОбразцы файлов MATLAB, используемые для создания образцов файлов библиотеки C++ для функций, включенных в библиотеку, указанных как вектор символов, скаляр строк, массив строк или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными. Файлы должны иметь .m расширение. Дополнительные сведения и ограничения см. в разделе Пример создания файлов драйверов.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char | string | cell
'Verbose' - Флаг для контроля полноты построения'off' (по умолчанию) | логическое значение on/offФлаг для управления подробностью построения, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on'затем в окне команд MATLAB отображается информация о ходе выполнения, указывающая на вывод компилятора в процессе построения.
Если для этого свойства задано значение 'off', то командное окно не отображает информацию о ходе выполнения.
Пример: 'Verbose','on'
Типы данных: logical
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.