exponenta event banner

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