Main Content

Library Development

Develop code replacement library

Learn about what code replacement customization is, why do it, what you can replace, and limitations. Get familiar with the process for developing code replacement libraries. Develop libraries interactively with the Code Replacement Tool or programmatically. Experiment with the process and tools by using Quick Start Library Development.

Tools

Code Replacement ToolCreate, modify, and validate content of code replacement libraries
Code Replacement ViewerExplore content of code replacement libraries

Functions

expand all

addEntryAdd table entry to collection of table entries registered in code replacement table
createCRLEntryCreate code replacement table entry from conceptual and implementation argument string specifications
registerCFunctionEntryCreate function entry based on specified parameters and register in code replacement table
registerCPPFunctionEntryCreate C++ function entry based on specified parameters and register in code replacement table
registerCPromotableMacroEntryCreate promotable code replacement macro entry based on specified parameters and register in code replacement table (for abs function replacement only)
RTW.TflBlasEntryGeneratorCreate code replacement table entry for a BLAS operation
RTW.TflCBlasEntryGeneratorCreate code replacement table entry for a CBLAS operation
RTW.TflCFunctionEntryCreate code replacement table entry for a function
RTW.TflCFunctionEntryMLBase class for custom code replacement table function entry
RTW.TflCOperationEntryCreate code replacement table entry for an operator
RTW.TflCOperationEntryGeneratorCreate code replacement table entry for a fixed-point addition or subtraction operation
RTW.TflCOperationEntryGenerator_NetSlopeCreate code replacement table entry for a net slope fixed-point operation
RTW.TflCOperationEntryMLBase class for custom code replacement table operator entry
RTW.TflCSemaphoreEntryCreate code replacement table entry for a semaphore or mutex
RTW.TflTableCreate code replacement table
setTflCFunctionEntryParametersSet specified parameters for function entry in code replacement table
setTflCOperationEntryParametersSet specified parameters for operator entry in code replacement table
setTflCSemaphoreEntryParametersSet specified parameters for semaphore entry in code replacement table
addConceptualArgAdd conceptual argument to array of conceptual arguments for code replacement table entry
addDWorkArgAdd DWork argument for semaphore entry in code replacement table
copyConceptualArgsToImplementationCopy conceptual argument specifications to implementation specifications of an entry for code replacement table entry
createAndAddImplementationArgCreate implementation argument from specified properties and add to implementation arguments for code replacement table entry
createAndSetCImplementationReturnCreate implementation return argument from specified properties and add to implementation for code replacement table entry
createCRLEntryCreate code replacement table entry from conceptual and implementation argument string specifications
createAndAddConceptualArgCreate conceptual argument from specified properties and add to conceptual arguments for code replacement table entry
getTflArgFromStringCreate code replacement argument based on specified name and built-in data type
getTflDWorkFromStringCreate code replacement DWork argument for semaphore entry based on specified name and data type
addAdditionalHeaderFileAdd header file to array of header files for code replacement table entry
addAdditionalIncludePathAdd include path to array of include paths for code replacement table entry
addAdditionalLinkObjAdd link object to array of link objects for code replacement table entry
addAdditionalLinkObjPathAdd link object path to array of link object paths for code replacement table entry
addAdditionalSourceFileAdd source file to array of source files for code replacement table entry
addAdditionalSourcePathAdd source path to array of source paths for code replacement table entry
enableCPPEnable C++ support for function entry in code replacement table
registerCPPFunctionEntryCreate C++ function entry based on specified parameters and register in code replacement table
setNameSpaceSet namespace for C++ function entry in code replacement table
addComplexTypeAlignmentSpecify alignment boundary of a complex type
setReservedIdentifiersRegister reserved identifiers to associate with code replacement library
coder.cevalCall external C/C++ function
coder.dataAlignmentSpecify data alignment for global or entry-point/exported function input and output arguments
coder.replaceReplace current MATLAB function implementation with code replacement library function in generated code

Topics

Getting Started

What Is Code Replacement Customization?

Customize how and when the code generator replaces C/C++ code that it generates for functions and operators.

Code You Can Replace from MATLAB Code

Review lists of functions and operators the code generator can replace depending on the code replacement library that you specify.

Quick Start Library Development

Develop a code replacement library that includes an entry for generating replacement code for a math function.

Options for More Control

Data Alignment for Code Replacement

Define code replacement mappings that align data for a replacement function to a specified boundary.

Array Layout and Code Replacement

Define code replacement mappings that specify data layout for storing array elements in memory.

Allow Shape Agnostic Match

Shape-agnostic matrix replacement for Embedded Coder CRL.

Reserved Identifiers and Code Replacement

C/C++ programming language reserved keywords as identifiers and function names in code replacement entries.

Remap Operator Output to Function Input

Meet specific generated code patterns by remapping operator outputs to input positions in your replacement function argument list.

Customize Match and Replacement Process

Add logic to the code replacement match and replacement process for functions or operators.

Troubleshooting

Troubleshoot Code Replacement Library Registration

If a code replacement library is not listed as a configuration option or does not appear in the Code Replacement Viewer, troubleshoot the library registration.

Troubleshoot Code Replacement Misses

Use miss reason messages that appear in the Code Replacement Viewer to analyze and correct code replacement misses.

Related Information