主要内容

Calllib

在C共享库中调用功能

描述

例子

[[x1,...,xn] = Calllib(libname,,,,funcname,,,,arg1,...,argn呼叫功能funcname在C库中libname,传递输入参数arg1,...,argn。这Calllib函数返回从funcnamex1,...,xn

例子

全部收缩

加载库。

如果〜libisloaded(“ shrlibsample”)addpath(fullfile(matlabroot,“外部”,,,,'例子',,,,'Shrlib'))载荷(“ shrlibsample”结尾

显示功能签名。

libfunctionsviewshrlibsample
[Double,C_StructPtr]

输入参数是指向c_struct数据类型。

创建一个MATLAB®结构体,结构

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

调用功能。

[res,st] = calllib(“ shrlibsample”,,,,'AddStructByRef',struct);

显示结果。

res
RES = -279

清理。

Unloadlibraryshrlibsample

输入参数

全部收缩

共享库的名称,指定为字符向量。请勿在libname

如果您打电话载荷使用别名选项,然后您必须使用别名名称libname争论。

数据类型:char

库中的功能名称,指定为字符向量。

数据类型:char

输入参数,1至n,要求funcname(如果有),由任何类型指定。这funcname参数列表指定参数类型。

输出参数

全部收缩

输出参数,1至n,从funcname(如果有),以任何类型返回。这funcname参数列表指定参数类型。

限制

  • 与使用该库一起使用载荷功能。

尖端

  • MATLAB在调用之前验证输入参数类型funcname。如果MATLAB显示有关数据类型的错误消息,请检查MATLAB功能签名。例如,如果funcname在图书馆mylib类型:

    libfunctions(“ mylib”,' -  full')

    找到funcname,滚动浏览输出。有关更多信息,请参阅您的库文档。

    你打电话时funcname,该功能可能显示错误。有关错误消息的信息,请参阅您的库文档。

版本历史记录

在R2006a之前引入