Вызов функций в Windows Interface на C++ разделяемая библиотека

Если вы создали 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. Введите эту команду, чтобы загрузить пакет.

doc clib.myPkg.Mat

Чтобы отобразить члены пакета, введите:

doc 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

Похожие темы