Этот пример показывает файл определения библиотеки, созданный из заголовочного файла C++.
Этот заголовочный файл в качестве примера содержит построения языка C++, которым нужно дальнейшее определение от издателя, чтобы создать интерфейс MATLAB к библиотеке. Конструкторы класса и функции являются подписями C++ только. Нет никакой реализации, и они не используются ни в каких примерах.
Используйте соответствующий definecppUseCases.mlx
файл, чтобы изучить, как добавить функциональность в интерфейс MATLAB.
edit(fullfile(matlabroot,"extern","examples","cpp_interface","cppUseCases.hpp"))
definecppUseCases.mlx
definecppUseCases.mlx
файл определения библиотеки создается из cppUseCases.hpp
заголовочный файл с помощью clibgen.generateLibraryDefinition
функция. После генерации файла определения библиотеки замените <SHAPE>
, <DIRECTION>
, и <MLTYPE>
текст с соответствующими значениями так, чтобы MATLAB мог создать эквивалентные функциональные подписи. Для получения дополнительной информации о предоставлении информации для всех конструкторов и функций в этой библиотеке, смотрите, Задают Интерфейс MATLAB для Библиотеки C++.
edit definecppUseCases.mlx
Например, примите что вход, чтобы функционировать addClassByPtr
указатель должен классифицировать ns::MyClass2
. Поиск этого текста:
double addClassByPtr(ns::MyClass2 const * myc2)
Аргумент myc2
не задан для MATLAB. Смотрите этот оператор, который содержит <SHAPE>
:
defineArgument(addClassByPtrDefinition, "myc2", "clib.cppUseCases.ns.MyClass2", "input", <SHAPE>);
Чтобы задать аргумент, замените <SHAPE>
с 1:
defineArgument(addClassByPtrDefinition,
"myc2"
,
"clib.cppUseCases.ns.MyClass2"
,
"input"
, 1);
Не прокомментируйте эти семь линий, задающих функцию, и сохраните файл MLX.
Чтобы искать другие неопределенные функции, ищите:
%validate