compiler.build.cSharedLibrary

Создайте совместно использованную библиотеку C

Описание

пример

compiler.build.cSharedLibrary(FunctionFiles) создает совместно использованную библиотеку C с помощью MATLAB® файлы заданы FunctionFiles.

пример

compiler.build.cSharedLibrary(FunctionFiles,Name,Value) создает совместно использованную библиотеку C с опциями, заданными с помощью одних или нескольких аргументов name-value. Опции включают имя библиотеки, выводят директорию и дополнительные файлы, чтобы включать.

пример

compiler.build.cSharedLibrary(opts) создает совместно использованную библиотеку C с опциями, заданными с помощью compiler.build.CSharedLibraryOptions объект opts. Вы не можете задать никакие другие опции с помощью аргументов name-value.

пример

results = compiler.build.cSharedLibrary(___) возвращает информацию о сборке как compiler.build.Results объект с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах. Информация о сборке состоит из типа сборки, путей к скомпилированным файлам и опций сборки.

Примеры

свернуть все

Создайте совместно использованную библиотеку 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

Входные параметры

свернуть все

Файлы, реализующие функции MATLAB в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m расширение.

Пример: ["myfunc1.m","myfunc2.m"]

Типы данных: char | string | cell

Библиотека C создает опции в виде a compiler.build.CSharedLibraryOptions объект.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Verbose','on'

Дополнительные файлы, чтобы включать в C совместно использовали библиотеку в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта.

Пример: 'AdditionalFiles',["myvars.mat","data.txt"]

Типы данных: char | string | cell

Отметьте, чтобы автоматически включать файлы данных в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем файлы данных, которые вы предоставляете как входные параметры определенным функциям (такой как load и fopen) автоматически включены в разделяемую библиотеку.

  • Если вы устанавливаете это свойство на 'off', затем необходимо добавить файлы данных в разделяемую библиотеку с помощью AdditionalFiles опция.

Пример: 'AutoDetectDataFiles','off'

Типы данных: логический

Отметьте, чтобы включить отладочные символы в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем скомпилированная библиотека содержит отладочные символы.

  • Если вы устанавливаете это свойство на 'off', затем скомпилированная библиотека не содержит отладочные символы.

Пример: 'DebugBuild','on'

Типы данных: логический

Отметьте, чтобы встроить развертываемый архив в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем функция встраивает развертываемый архив в разделяемую библиотеку.

  • Если вы устанавливаете это свойство на 'off', затем функция генерирует развертываемый архив как отдельный файл.

Пример: 'EmbedArchive','off'

Типы данных: логический

Имя C совместно использовало библиотеку в виде вектора символов или строкового скаляра. Имя по умолчанию сгенерированной библиотеки является первой записью FunctionFiles аргумент.

Пример: 'LibraryName','mymagic'

Типы данных: char | string

Путь к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.

Имя по умолчанию папки сборки является именем библиотеки, добавленным с cSharedLibrary.

Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagiccSharedLibrary'

Типы данных: char | string

Пакеты поддержки, чтобы включать в виде одной из следующих опций:

  • 'autodetect' (значение по умолчанию) — Процесс анализа зависимостей обнаруживает и включает необходимые пакеты поддержки автоматически.

  • 'none' — Никакие пакеты поддержки не включены. Используя эту опцию может вызвать ошибки периода выполнения.

  • Строковый скаляр, вектор символов или массив ячеек из символьных векторов — Только заданные пакеты поддержки включены. Чтобы перечислить установленные пакеты поддержки или используемых определенным файлом, смотрите compiler.codetools.deployableSupportPackages.

.

Пример: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

Типы данных: char | string | cell

Отметьте, чтобы управлять многословием сборки в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем окно команды MATLAB отображает информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

  • Если вы устанавливаете это свойство на 'off', затем командное окно не отображает информацию о прогрессе.

Пример: 'Verbose','on'

Типы данных: логический

Выходные аргументы

свернуть все

Создайте результаты, возвращенные как compiler.build.Results объект. Results объект содержит:

  • Создайте тип, который является 'cSharedLibrary'

  • Пути к следующим скомпилированным файлам:

    • LibraryName.dll

    • LibraryName.lib

    • LibraryNameH

    • GettingStarted.html

  • Список включенных пакетов поддержки

  • Создайте опции в виде CSharedLibraryOptions объект

Смотрите также

Введенный в R2021a