calllib

Вызовите функцию в совместно использованной библиотеке C

Синтаксис

[x1,...,xN] = calllib(libname,funcname,arg1,...,argN)

Описание

пример

[x1,...,xN] = calllib(libname,funcname,arg1,...,argN) вызовы функционируют funcname в библиотеке C libname, передавая входные параметры arg1,...,argN. Функция calllib возвращает выходные значения, полученные из funcname в x1,...,xN.

Примеры

свернуть все

Загрузите библиотеку.

if ~libisloaded('shrlibsample')
   addpath(fullfile(matlabroot,'extern','examples','shrlib'))
   loadlibrary('shrlibsample')
end

Отобразите функциональную подпись.

libfunctionsview shrlibsample
[double, c_structPtr] addStructByRef(c_structPtr)

Входной параметр является указателем на тип данных c_struct.

Создайте структуру MATLAB®, struct:

struct.p1 = 4; struct.p2 = 7.3; struct.p3 = -290; 

Вызовите функцию.

[res,st] = calllib('shrlibsample','addStructByRef',struct);

Отобразите результаты.

res
res =
         -279

Очистка.

unloadlibrary shrlibsample

Входные параметры

свернуть все

Имя разделяемой библиотеки, заданной как вектор символов. Не включайте путь или расширение файла в libname.

Если вы вызываете loadlibrary с помощью опции alias, то необходимо использовать имя псевдонима для аргумента libname.

Типы данных: char

Имя функции в библиотеке, заданной как вектор символов.

Типы данных: char

Входные параметры, 1 через N, требуемый funcname (если таковые имеются), заданный любым типом. Список аргументов funcname задает тип аргумента.

Выходные аргументы

свернуть все

Выходные аргументы, 1 через N, от funcname (если таковые имеются), возвратились как любой тип. Список аргументов funcname задает тип аргумента.

Ограничения

  • Используйте с библиотеками, которые загружаются с помощью функции loadlibrary.

Советы

  • MATLAB подтверждает типы входного параметра прежде, чем вызвать funcname. Если MATLAB отображает сообщения об ошибке о типах данных, проверяйте подпись функции MATLAB. Например, если funcname находится в типе библиотеки mylib:

    libfunctions('mylib','-full')

    Чтобы найти funcname, просмотрите вывод путем прокрутки. Для получения дополнительной информации обратитесь к своей документации библиотеки.

    Когда вы вызываете funcname, эта функция может отобразить ошибки. Для получения информации о сообщениях об ошибке обратитесь к своей документации библиотеки.

Представлено до R2006a