从 MATLAB 中调用 C
calllib
函数从 MATLAB® R2021b 或更早版本直接调用 C 库函数共享库是应用程序在运行时动态加载的函数集合。MATLAB 接口支持包含 C 头文件中定义的函数的库。要调用 C++ 库中的函数,请使用 从 MATLAB 中调用 C++中所述的接口。
函数
loadlibrary | 将 C 共享库加载到 MATLAB |
unloadlibrary | 从内存中卸载共享 C 库 |
calllib | 调用 C 共享库中的函数 |
libfunctions | 返回 C 共享库中函数的信息 |
libfunctionsview | 在窗口中显示 C 共享库函数签名 |
libisloaded | 确定是否已加载 C 共享库 |
libpointer | 用于 C 共享库的指针对象 |
libstruct | 将 MATLAB 结构体转换为 C 样式的结构体以用于 C 共享库 |
类
lib.pointer | 与 C 指针兼容的指针对象 |
主题
- 调用使用 loadlibrary 加载的 C 库中的函数
如何使用
calllib
从 MATLAB 中调用外部共享 C 库中的函数。 - 将参量传递给共享的 C 库函数
如何构造与在库函数中找到的参量类型兼容的 MATLAB 参量。
- 在 C 共享库函数中表示指针参量
如何使用
libpointer
按引用传递参量。 - Represent Structure Arguments in C Shared Library Functions
Requirements for passing a MATLAB structure to an external library function.
- MATLAB Prototype Files
How to modify C header file information.
疑难解答
Limitations to Shared Library Support
C language features not supported.
Rules for using C language structures in a shared library.
Errors occur when the shared library is not a valid library.
如果您调用的函数没有正确的输入或输出参量,或者头文件中的函数签名中存在错误,则会发生此错误。
MATLAB Terminates Unexpectedly When Calling Function in Shared Library
Some shared libraries, compiled as Microsoft® Windows® 32-bit libraries, use a calling convention that is incompatible with the default MATLAB calling convention.