主要内容

libstruct

转换MATLAB结构转换为C风格结构,用于共享C库

描述

年代= libstruct (structtype创建MATLAB指针®libstruct对象年代

例子

年代= libstruct (structtype,mlstruct创建初始化为mlstruct

例子

全部折叠

调用addStructFields函数的方法是创建一个类型的变量c_struct

加载shrlibsample图书馆matlabroot\走读生\ \ shrlib例子文件夹,其中包含c_struct类型。

如果~ libisloaded (“shrlibsample”)目录(fullfile (matlabroot,“外来的”,“例子”,“shrlib”) loadlibrary (“shrlibsample”结束

显示函数签名shrlibsample并在列表中搜索addStructFields条目。

libfunctionsviewshrlibsample
双addStructFields (c_struct)

input参数是指向a的指针c_struct数据类型。

创建一个MATLAB结构,sm

sm。P1 = 476;sm。P2 = -299;sm。P3 = 1000;

构造一个libstruct对象scc_struct类型。

Sc = libstruct(“c_struct”sm)

的领域sc包含MATLAB结构的值,sm

调用addStructFields函数。

calllib (“shrlibsample”,“addStructFields”, sc)
Ans = 1177

要清理,首先要清理libstruct对象,然后卸载库。

清晰的scunloadlibraryshrlibsample

输入参数

全部折叠

共享库中定义的C结构。

MATLAB结构中用于初始化字段年代

数据类型:结构体

输出参数

全部折叠

指针,作为MATLAB返回libstruct对象。

限制

  • 方法加载的库中使用loadlibrary函数。

  • 您只能使用libstruct标量结构上的函数。

  • 当将MATLAB结构转换为libstruct对象时,结构必须遵循中列出的要求结构参数要求

提示

  • 如果共享库中的函数具有结构参数,则使用libstruct来创建参数。的libstructfunction创建一个c风格的结构,可以传递给库中的函数。在MATLAB中处理这个结构就像处理真正的MATLAB结构一样。

版本历史

R2006a之前介绍