Демонстрационный файл определения библиотеки C++

Этот пример показывает файл определения библиотеки, созданный из заголовочного файла 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