calllib

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

Описание

пример

[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 (при наличии), заданный любым типом. The funcname список аргументов задает тип аргумента.

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

свернуть все

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

Ограничения

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

Совет

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

    libfunctions('mylib','-full')

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

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

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