Call C from MATLAB
calllib
functionA shared library is a collection of functions dynamically loaded by an application at run time. The MATLAB interface supports libraries containing functions defined in C header files. To call functions in C++ libraries, use the interface described in Call C++ from MATLAB.
Fonctions
loadlibrary | Load C shared library into MATLAB |
unloadlibrary | Unload shared C library from memory |
calllib | Call function in C shared library |
libfunctions | Return information on functions in shared C library |
libfunctionsview | Display shared C library function signatures in window |
libisloaded | Determine if shared C library is loaded |
libpointer | Pointer object for use with shared C library |
libstruct | Convert MATLAB structure to C-style structure for use with shared C library |
Classes
lib.pointer | Pointer object compatible with C pointer |
Rubriques
- Call Functions in C Library Loaded with loadlibrary
How to call functions in external, shared C libraries from MATLAB using
calllib
. - Pass Arguments to Shared C Library Functions
How to construct MATLAB arguments compatible with the argument types found in the library functions.
- Represent Pointer Arguments in C Shared Library Functions
How to use
libpointer
to pass arguments by reference. - 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.
Résolution des problèmes
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.
This error occurs when you call a function without the correct input or output arguments, or if there is an error in the function signature in the header file.
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.