Создайте интерфейс к библиотеке C++ без файла определения
clibgen.buildInterface(HeaderFiles)
clibgen.buildInterface(HeaderFiles,Name,Value)
clibgen.buildInterface(
генерирует интерфейс MATLAB® к библиотеке C++, заданной HeaderFiles
)HeaderFiles
. Конструкторы класса, методы и функции, которые не может автоматически задать MATLAB, не включены в интерфейс. Чтобы включать недостающую функциональность, используйте функцию clibgen.generateLibraryDefinition
.
clibgen.buildInterface(
генерирует интерфейс с помощью одного или нескольких аргументов пары "имя-значение".HeaderFiles
,Name,Value
)
school
Скопируйте заголовочный файл school.hpp
в перезаписываемую папку H:\Documents\MATLAB\publisher
.
copyfile(fullfile(matlabroot,'extern','examples','cpp_interface','school.hpp'),'.','f')
Создайте интерфейс.
clibgen.buildInterface('school.hpp')
Warning: Only header files specified; assuming this is a header-only library. If library files also need to be specified, use the 'Libraries' option. Building interface file 'schoolInterface.dll'. Interface file 'schoolInterface.dll' built in folder 'H:\Documents\MATLAB\publisher\school'. To use the library, add the interface file folder to the MATLAB path. 1 constructs need further definition to be included in the interface. Use clibgen.generateLibraryDefinition to provide definitions.
Щелкните по ссылке interface file folder
, чтобы добавить интерфейс в путь.
Отобразите классы в библиотеке.
clib.school.Tab
Отобразите справку для библиотеки.
help clib.school
Classes contained in clib.school: Person - clib.school.Person Representation of C++ class Person Teacher - clib.school.Teacher Representation of C++ class Teacher Student - clib.school.Student Representation of C++ class Student
Сравните эта функциональность с выводом команды summary(defineschool)
в Задают и Публикуют Интерфейс к Библиотеке C++ Только для заголовка. Этот интерфейс не включает:
Functions string clib.school.getName(clib.school.Person)
HeaderFiles
— Заголовочные файлыОдин или несколько заголовочных файлов, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. Поддерживаемыми расширениями файла является .h
, .hpp
и .hxx
. Заголовочный файл без расширения также поддержан.
MATLAB записывает интерфейсные файлы в подпапке в текущей папке, если OutputFolder
не задан. Имя подпапки является именем первого заголовочного файла без расширения файла. Например, следующий оператор создает интерфейсный файл библиотеки в подпапке myHeader
в текущей рабочей папке.
clibgen.buildInterface('myHeader.hpp')
Типы данных: char
| string
| cell
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
clibgen.buildInterface('myHeader.hpp','Libraries','myHeader.lib','OutputFolder','C:\work');
'Libraries'
— Путь к библиотекеОдин или несколько путей к библиотеке, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. Каждое значение Libraries
является именем полного пути к библиотеке. Например, выполнение этого оператора на Windows® создает sampleInterface.dll
с помощью myLib.lib
в C:\myLib\
и пишет его в подпапку sample
в текущей рабочей папке.
clibgen.buildInterface('sample.hpp','Libraries','C:\myLib\myLib.lib')
Типы данных: char
| string
| cell
'includepath'
Путь к заголовочному файлуПуть к заголовочному файлу, заданный как массив строк, вектор символов или массив ячеек из символьных векторов. IncludePath
является именем полного пути к папкам, чтобы включать во время компиляции заголовочных файлов.
Типы данных: char
| string
| cell
'OutputFolder'
FolderName Имя папки раньше генерировало интерфейсную библиотеку, заданную как скаляр строки или вектор символов. Например, этот оператор создает myHeaderInterface.dll
в C:\work\myHeader
на Windows.
clibgen.buildInterface('myHeader.hpp','OutputFolder','C:\work')
Типы данных: char
| string
| cell
PackageName
Интерфейсное имя пакетаИнтерфейсное имя пакета, заданное как скаляр строки или вектор символов. Для интерфейсов, созданных из одного заголовочного файла, значение по умолчанию является именем заголовка. Для нескольких заголовочных файлов задайте имя пакета как допустимое имя MATLAB. Например, этот оператор создает файл библиотеки myPackageInterface
в подпапке myPackage
в текущей рабочей папке.
clibgen.buildInterface({'h1.hpp','h2.hpp'},'PackageName','myPackage')
Типы данных: char
| string
| cell
'Verbose'
— Опция, чтобы отобразить сообщения генерацииfalse
(значение по умолчанию) | true
Опция, чтобы отобразить сообщения генерации, заданные как true
или false
. Когда true
, clibgen.buildInterface
отображает сообщения генерации к командному окну при создании интерфейса. Например, этот оператор создает файл библиотеки h1Interface
в подпапке h1
и отображает сообщения в командном окне.
clibgen.buildInterface('h1.hpp','Verbose',true)
Для получения дополнительной информации см. сообщения Поиска и устранения проблем.
Типы данных: логический
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.