MATLAB-Codeanalyse
Identifizieren und Beheben von Problemen im MATLAB®-Code, die eine C/C++ Codegenerierung verhindern
Für eine erfolgreiche C/C++ Codegenerierung aus MATLAB-Code müssen die Regeln und Einschränkungen der Codegenerierung berücksichtigt werden. Ihr MATLAB-Code darf beispielsweise nur MATLAB-Funktionen und Toolbox-Funktionen verwenden, die eine Codegenerierung unterstützen. Um Probleme mit Ihrem MATLAB-Code vor der C/C++ Codegenerierung zu identifizieren und zu beheben, können Sie den Code Analyzer und das Tool zur Überprüfung der Codegenerierungsbereitschaft verwenden. Um zu überprüfen, dass Ihr MATLAB-Code generierten Code erzeugt, der wie erwartet funktioniert, können Sie eine MEX-Funktion generieren und ausführen; diese Funktion ist in der MATLAB-Umgebung ausführbar und testbar.
Funktionen
coder.runTest | Run test replacing calls to MATLAB functions with calls to MEX functions |
coder.screener | Determine if function is suitable for code generation |
getLineColumn | Find locations of beginning and end of MATLAB code involved in code generation |
textReport | Export code generation readiness report to base workspace as a character vector (Seit R2022a) |
Eigenschaften
coder.CallSite Properties | Information about a function call site in your MATLAB code (Seit R2022a) |
coder.CodeFile Properties | Description of file containing text that is involved in code generation |
coder.File Properties | Description of file without text that is involved in code generation |
coder.Message Properties | Description of message produced during code generation readiness analysis or during code generation |
coder.ScreenerInfo Properties | Code generation readiness information (Seit R2022a) |
Themen
Vorbereitung für die Codegenerierung
- Identify Entry-Point Functions and Check MATLAB Code
Identify entry-point functions and check MATLAB code for errors before code generation. - Code Generation Readiness Tool
The code generation readiness tool screens MATLAB code for features and functions that code generation does not support.
Fehlersuche
- Check for Issues in MATLAB Code Using MEX Functions
Use MEX functions to verify that the generated code provides the same functionality as the original MATLAB code. - Debugging Strategies
Choose a strategy for detecting and correcting code that is not suitable for code generation. - Debugging Generated MEX Code
Debug MEX code generated from your MATLAB code. - Debug Generated C/C++ Code
Debug standalone C/C++ code generated from your MATLAB code. - Profile MEX Functions by Using MATLAB Profiler
See execution times and code coverage for generated MEX functions in MATLAB Profiler.
Fehlerbehebung
- Fehler beheben: Funktion wird von Codegenerierung nicht unterstützt
Fehlerbehebung bei einem Codegenerierungs-Fehler durch nicht unterstützte MATLAB-Funktionen. - Resolve Issue: Variables Must Be Fully Defined Before Use
Troubleshoot code generation errors when variables, including structure fields and class properties, are not defined before use. - Resolve Issue: Cell Array Elements Must Be Fully Defined Before Use
Troubleshoot code generation errors when cell array elements are not defined before use.