Создайте совместно использованную библиотеку C
compiler.build.cSharedLibrary( создает совместно использованную библиотеку C с помощью MATLAB® файлы заданы FunctionFiles)FunctionFiles.
compiler.build.cSharedLibrary( создает совместно использованную библиотеку C с опциями, заданными с помощью одних или нескольких аргументов name-value. Опции включают имя библиотеки, выводят директорию и дополнительные файлы, чтобы включать.FunctionFiles,Name,Value)
compiler.build.cSharedLibrary( создает совместно использованную библиотеку C с опциями, заданными с помощью opts)compiler.build.CSharedLibraryOptions объект opts. Вы не можете задать никакие другие опции с помощью аргументов name-value.
Создайте совместно использованную библиотеку C с помощью файла функции, который генерирует магический квадрат.
В MATLAB найдите функцию MATLAB, которую вы хотите развернуть, когда C совместно использовал библиотеку. В данном примере используйте файл magicsquare.m расположенный в .matlabroot\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте библиотеку C с помощью compiler.build.cSharedLibrary команда.
compiler.build.cSharedLibrary(appFile);
Функция сборки создает следующие файлы в папке под названием magicsquarecSharedLibrary в вашей текущей рабочей директории:
GettingStarted.html — Файл, который содержит информацию об интеграции вашей разделяемой библиотеки.
includedSupportPackages.txt — Текстовый файл, который перечисляет все файлы поддержки, включенные в библиотеку.
magicsquare.c — C файл исходного кода.
magicsquare.def — Файл определения модуля, который предоставляет компоновщику информацию о модуле.
magicsquare.dll — Файл динамически подключаемой библиотеки.
magicsquare.exports — Файл экспорта, который содержит все нестатические имена функций.
magicsquare.h — C заголовочный файл.
magicsquare.lib — Импортируйте файл библиотеки.
mccExcludedFiles.log — Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.
readme.txt — Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
requiredMCRProducts.txt — Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt — Текстовый файл, который содержит информацию о неразрешенных символах.
Создайте библиотеку C и настройте ее с помощью аргументов name-value.
В данном примере используйте файлы flames.m и flames.mat расположенный в .matlabroot\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','flames.m'); MATFile = fullfile(matlabroot,'extern','examples','compiler','flames.mat');
Создайте библиотеку C с помощью compiler.build.cSharedLibrary команда. Используйте аргументы name-value, чтобы задать имя библиотеки, добавить MAT-файл и включить многословный выход.
compiler.build.cSharedLibrary(appFile,'LibraryName','MyMagicSquare',... 'AdditionalFiles',MATFile,... 'Verbose','on');
Создайте несколько библиотек C с помощью a compiler.build.CSharedLibraryOptions объект.
В данном примере используйте файл magicsquare.m расположенный в .matlabroot\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте CSharedLibraryOptions объект с помощью appFile. Используйте аргументы name-value, чтобы задать общую выходную директорию, отключить автоматическое обнаружение файлов данных и включить многословный выход.
opts = compiler.build.CSharedLibraryOptions(appFile,... 'OutputDir','D:\Documents\MATLAB\work\CLibraryBatch',... 'AutoDetectDataFiles','off',... 'Verbose','on')
opts =
CSharedLibraryOptions with properties:
EmbedArchive: on
FunctionFiles: {'C:\Program Files\MATLAB\R2021b\extern\examples\compiler\magicsquare.m'}
DebugBuild: off
LibraryName: 'magicsquare'
LibraryVersion: '1.0.0.0'
AdditionalFiles: {}
AutoDetectDataFiles: off
SupportPackages: {'autodetect'}
Verbose: on
OutputDir: 'D:\Documents\MATLAB\work\CLibraryBatch'Создайте совместно использованную библиотеку C с помощью CSharedLibraryOptions объект.
compiler.build.cSharedLibrary(opts);
Скомпилировать использование файла функции myMagic2.m с теми же опциями используйте запись через точку, чтобы изменить FunctionFiles аргумент существующего cSharedLibrary объект прежде, чем запустить сборку функционирует снова.
opts.FunctionFiles = 'myMagic2.m';
compiler.build.cSharedLibrary(opts);Путем изменения FunctionFiles аргумент и рекомпиляция, можно скомпилировать несколько библиотек с помощью того же объекта опций.
Создайте библиотеку C и сохраните информацию о типе сборки, скомпилированных файлах, включал пакеты поддержки и опции сборки к compiler.build.Results объект.
Компиляция с помощью файла magicsquare.m расположенный в .matlabroot\extern\examples\compiler
results = compiler.build.cSharedLibrary('magicsquare.m')results =
Results with properties:
BuildType: 'cSharedLibrary'
Files: {4×1 cell}
IncludedSupportPackages: {}
Options: [1×1 compiler.build.CSharedLibraryOptions]Files свойство содержит пути к следующим файлам:
magicsquare.dll
magicsquare.lib
magicsquare.h
GettingStarted.html
FunctionFiles — Файлы, реализующие функции MATLABФайлы, реализующие функции MATLAB в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char | string | cell
opts — Библиотека C создает опцииcompiler.build.CSharedLibraryOptions объектБиблиотека C создает опции в виде a compiler.build.CSharedLibraryOptions объект.
Задайте дополнительные разделенные запятой пары 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'
Типы данных: логический
EmbedArchive — Отметьте, чтобы встроить развертываемый архив'on' (значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы встроить развертываемый архив в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.
Если вы устанавливаете это свойство на 'on', затем функция встраивает развертываемый архив в разделяемую библиотеку.
Если вы устанавливаете это свойство на 'off', затем функция генерирует развертываемый архив как отдельный файл.
Пример: 'EmbedArchive','off'
Типы данных: логический
LibraryName — Имя C совместно использовало библиотекуИмя C совместно использовало библиотеку в виде вектора символов или строкового скаляра. Имя по умолчанию сгенерированной библиотеки является первой записью FunctionFiles аргумент.
Пример: 'LibraryName','mymagic'
Типы данных: char | string
OutputDir — Путь, чтобы вывести директориюПуть к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.
Имя по умолчанию папки сборки является именем библиотеки, добавленным с cSharedLibrary.
Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagiccSharedLibrary'
Типы данных: char | string
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 объект содержит:
Создайте тип, который является 'cSharedLibrary'
Пути к следующим скомпилированным файлам:
LibraryName.dll
LibraryName.lib
LibraryNameH
GettingStarted.html
Список включенных пакетов поддержки
Создайте опции в виде CSharedLibraryOptions объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.