Main Content

Call C from MATLAB

Directly call C library functions from MATLAB® R2021b or earlier, using calllib function

A 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.

Functions

loadlibraryLoad C shared library into MATLAB
unloadlibraryUnload shared C library from memory
calllibCall function in C shared library
libfunctionsReturn information on functions in shared C library
libfunctionsviewDisplay shared C library function signatures in window
libisloadedDetermine if shared C library is loaded
libpointerPointer object for use with shared C library
libstructConvert MATLAB structure to C-style structure for use with shared C library

Classes

lib.pointerPointer object compatible with C pointer

Topics

Troubleshooting

Limitations to Shared Library Support

C language features not supported.

Limitations Using Structures

Rules for using C language structures in a shared library.

Loading Library Errors

Errors occur when the shared library is not a valid library.

No Matching Signature Error

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.