Target Language Compiler
Customize generated code, inline code generated for S-Function blocks, and generate additional or different types of files
Target Language Compiler (TLC) is an integral part of the code generator. Use TLC to customize generated code. Through customization, you can produce platform-specific code and incorporate your own algorithmic changes for performance, code size, or compatibility with existing methods.
With the Target Language Compiler, you can :
- Customize the set of options specified by your system target file. 
- Inline the code for S-Function blocks. 
- Generate additional or different types of files. 
To learn about the basics of TLC, see Target Language Compiler Basics.
For simpler alternative approaches for interfacing between generated and external code, see External Code Import.
Topics
Getting Started
- Target Language Compiler Basics
 Use the Target Language Compiler to produce platform-specific code and incorporate your own algorithmic changes for performance, code size, or compatibility with existing methods that you prefer to maintain.
- Why Use the Target Language Compiler?
 Use the Target Language Compiler to customize the set of options specified by your system target file, inline the code for S-Function blocks, or generate additional or different types of files.
- The Advantages of Inlining S-Functions
 Determine when, how, and why to inline S-functions.
- Code Architecture
 Learn what information a block object captures.
- Inlining S-Functions
 Apply techniques for inlining S-functions.
- Improve Code Efficiency and Integration of Inlined S-Functions
 Learn how to enable the enhanced TLC block interface to effectively integrate S-Function block code into generated code.
Target Language Compiler Tutorials
- Advice About TLC Tutorials
 The TLC tutorials describe why and how to use TLC.
- Working with TLC Record Files
 Learn how TLC accesses record files and interprets their contents.
- Inline S-Functions with TLC
 TLC inlines S-functions, resulting in faster, optimized code.
- Explore Variable Names and Loop Rolling
 Understand how and when TLC outputs loops and variable names.
- Debug Your TLC Code
 Invoke TLC debugger commands, set breakpoints, and trace code execution.
- TLC Code Coverage to Aid Debugging
 Use TLC coverage statistics to help identify bugs in TLC code.
- Wrap User Code with TLC
 Use TLC to integrate legacy and proprietary code into compiled models.
Code Generation Architecture
- Build Process
 Create and use target language files.
- Configure TLC
 Customize builds by passing configuration data to theset_paramcommand.
- Configure Generated Code with TLC
 Use the Target Language Compiler to generate source code in specific ways or to give the code-specific characteristics.
- Code Generation Concepts
 Understand TLC variables and file and record handling.
- TLC Files
 Learn about the roles and varieties of system and block target files.
- Data Handling with TLC
 TLC library functions can transform data into data structures.
model.rtw File
- Exception to Using the Library Functions that Access model.rtw
 Access parameter settings for a block in themodel.rtw
- Access Memory in Generated Code Using Global Data Map
 Generate TLC global data map record inmodel.rtwfile.
Directives and Built-in Functions
- Target Language Compiler Directives
 Learn the syntax and formats of directives, built-in functions, signal and parameter values, expressions, and comments.
- Command-Line Arguments
 Specify TLC calling arguments, filenames, and search paths.
S-Function Inlining
- Inline S-Functions
 Write S-functions to be used for code generation.
- Inline C MEX S-Functions
 Handle calls made by C MEX S-functions.
- TLC Coding Conventions
 Observe case conventions and use library functions to make your TLC code more robust.
- Block Target File Methods
 Use polymorphic block functions combined with the Target Language Compiler library functions to write a block target file.
- Loop Rolling
 Use the%rolldirective to indicate whether the code generator unrollsforloops.
TLC Function Library Reference
- Target Language Compiler Library Functions Overview
 Use library functions to access many of the parameter name/parameter values pairs in the block record.
- Target Language Compiler Function Conventions
 Apply proper TLC function syntax and conventions.
- Input Signal Functions
 These TLC Functions process and report on input signals.
- Output Signal Functions
 These TLC functions process and report on output signals.
- Parameter Functions
 These functions process model parameters.
- Block State and Work Vector Functions
 These functions handle storage and states.
- Block Compatibility Functions
 These TLC functions are for specifying block compatibility with code generation features.
- Block Path and Error Reporting Functions
 These functions navigate paths and handle error conditions.
- Code Configuration Functions
 These functions are for tailoring code elements and comments.
- Sample Time Functions
 These functions are for handling continuous and discrete time.
- Miscellaneous Functions
 These functions are not elsewhere classified.
- Advanced Functions
 These functions are generally required only for special situations.
Debugging and Error Handling
- Using the TLC Debugger
 Use the TLC debugger to execute TLC code line-by-line, analyze and/or change variables in a specified block scope, and view the TLC call stack.
- TLC Coverage
 Determine what TLC statements are executed.
- TLC Profiler
 Measure the execution time of each TLC function.
- TLC Error Handling
 Use this alphabetical list of error messages to detect and address error conditions in your TLC code.