calllib

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

Описание

пример

[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