Main Content

SIL/PIL Execution Support and Limitations

FeatureSupported
Output typesStatic library Yes
Dynamic library Yes
Executable No
LanguagesCYes
C++Yes
Interface typesInputs Yes
Outputs Yes
Constant inputs Yes
Global data

Yes. SIL and PIL execution supports four types of storage classes for MATLAB® Coder™ global variables. The synchronization of global data between MATLAB and the SIL or PIL application depends on the type of storage class that you specify:

  • ExportedGlobal (default) — The synchronization of global data between MATLAB and a SIL or PIL application is identical to the synchronization between MATLAB and a MEX function.

  • ExportedDefine — There is no synchronization of global data between MATLAB and the SIL or PIL application. The application uses the values of the global variables in MATLAB at the time of code generation.

  • ImportedExtern and ImportedExternPointer — There is no synchronization of global data between MATLAB and the SIL or PIL application. The application uses initial values of global variables, which you specify in the external code. If the global variables are not initialized in the external code, the SIL or PIL execution results are undefined.

Constant global dataYes
Reentrant code Yes
Multiple entry points Yes
Data typesBasic types Yes
Enumerated types Yes
Structures Yes
Complex data Yes
Fixed-point data Yes
Multiword fixed-point data SIL only
char arrays Yes
Empty valuesYes
Cell arraysYes
SizeScalars Yes
Fixed-size arrays Yes
Static variable-size arraysYes
Dynamic variable-size size arraysYes

Related Topics