Main Content

Integrate C/C++ Code Using C Function Blocks

Integrate and call external C/C++ code from a Simulink® model

Use the C Function block to call external C/C++ code from your model. Use the C Function block to:

  • Write C code to preprocess data to call a C function. Similarly, you can write C code to postprocess data after calling a C function.

  • Specify different code for simulation and code generation.

  • Call multiple C functions defined in your external code.

  • Initialize and work with persistent data cached in the block.

  • Allocate and deallocate memory.

To get started by configuring custom code sources in your Simulink model, see Specify and Configure Custom C/C++ Code.

To call simple C code, use the C Caller block. To integrate a dynamic system using C code into your Simulink model, use the S-Function block.


C FunctionIntegrate and call external C/C++ code from a Simulink model (Since R2020a)


SymbolSpecQuery and configure C Function block data symbols (Since R2020a)
SymbolC Function block data symbol (Since R2020a)