Если вы создали matrixOperations
интерфейс в примере Публикует Интерфейс к Разделяемой Библиотеке C++ по Windows, затем можно использовать его в следующем примере. Пример принимает matrixOperations.dll
интерфейсный файл находится в этой папке:
H:\Documents\MATLAB\publisher\matrixexample\myPkg
В подсказке операционной системы добавьте, что путь к C++ совместно использовал файл библиотеки. Для получения дополнительной информации смотрите Установленный Путь Библиотеки времени выполнения для Интерфейса C++.
set PATH=rtPath;%PATH%
где rtPath
выход:
rtPath = fullfile(fullfile(matlabroot,'extern','examples','cpp_interface'),'win64','mingw64')
Например, тип:
set PATH=C:\Program Files\MATLAB\R2019a\extern\examples\cpp_interface\win64\mingw64;%PATH%
Запустите MATLAB®. Добавьте файл интерфейса MATLAB в путь MATLAB.
addpath('H:\Documents\MATLAB\publisher\matrixexample\myPkg')
В командной строке MATLAB отобразите справку для интерфейса. В примере, clibgen.generateLibraryDefinition
команда изменила название интерфейса к matrixOperations
к myPkg
. Введите эту команду, чтобы загрузить пакет.
help clib.myPkg.Mat
Чтобы отобразить членов пакета, введите:
help clib.myPkg
Classes contained in clib.myPkg: Mat - clib.myPkg.Mat Representation of C++ class Mat Functions contained in clib.myPkg: addMat - clib.myPkg.addMat Representation of C++ function addMat updateMatByX - clib.myPkg.updateMatByX Representation of C++ function updateMatByX updateMatBySize - clib.myPkg.updateMatBySize Representation of C++ function updateMatBySize
Чтобы отобразить подписи для функции пакета, щелкните по ссылкам для addMat
, updateMatByX
, и updateMatBySize
.
clib.myPkg.addMat Representation of C++ function addMat inputs mat read-only clib.myPkg.Mat outputs RetVal int32 clib.myPkg.updateMatByX Representation of C++ function updateMatByX inputs mat clib.myPkg.Mat X int32 outputs clib.myPkg.updateMatBySize Representation of C++ function updateMatBySize inputs mat clib.myPkg.Mat arr int32 outputs
Отобразить информацию о классе clib.myPkg.Mat
, щелкните по ссылке для Mat
.
clib.myPkg.Mat Representation of C++ class Mat Method Summary: Mat - clib.myPkg.Mat Constructor of C++ class Mat Mat - clib.myPkg.Mat Constructor of C++ class Mat setMat - clib.myPkg.Mat.setMat Method of C++ class Mat getMat - clib.myPkg.Mat.getMat Method of C++ class Mat getLength - clib.myPkg.Mat.getLength Method of C++ class Mat copyMat - clib.myPkg.Mat.copyMat Method of C++ class Mat
Чтобы отобразить подписи конструктора и сигнатуры методов, используйте methods
или methodsview
функции. Например, введите:
methodsview(clib.myPkg.Mat)
Протестируйте функции в интерфейсе. Например, введите:
matObj = clib.myPkg.Mat; % Create a Mat object intArr = [1,2,3,4,5]; matObj.setMat(intArr); % Set the values to intArr retMat = matObj.getMat(5) % Display the values
retMat = 1×5 int32 row vector 1 2 3 4 5