- Use MATLAB Engine API for C++ correctly to interact with MATLAB from C++.
- Ensure Thread Safety, as the MATLAB Engine API isn't inherently thread-safe.
- Properly Initialize and Shutdown the MATLAB engine to avoid resource leaks or crashes.
- Manage Memory carefully when transferring data between C++ and MATLAB to prevent leaks or corruption.
- Correct Compilation and Linking against MATLAB Engine API headers and libraries is crucial, ensuring compatibility between Debug/Release configurations and MATLAB versions.
- MATLAB Runtime might be required for machines without MATLAB installed, respecting MATLAB's licensing requirements.
- Troubleshoot with steps like checking for exceptions, dependency issues, MATLAB version compatibility, using debugging tools, and consulting MATLAB logs.
Use Matlab Engine within DLL
조회 수: 15 (최근 30일)
이전 댓글 표시
Dear Ladies and Gentlemen,
I want to use Matlab together with my circuit simulator. I was able to write a standalone executable that launches the matlab engine and does some calculations. Now I would like to do the same using a DLL. It must be an DLL since the simulator can only load DLLs and I need to start the Matlab Engine within the DLL. I am using Visual Studio 2019 for compilation.
When I try to do this, the simulator crashes as soon as I call "matlabPtr = startMATLAB();". So I was wondering if it is even possible to call Matlab from an DLL and if so, what things I have to be aware of.
Thank you very much!
Best regards,
Martin
댓글 수: 0
답변 (1개)
Pratyush
2024년 4월 16일
Hi Martin,
Integrating MATLAB with a DLL for use in applications like circuit simulators involves several key considerations:
The process requires careful handling of the MATLAB Engine API, attention to thread safety, memory management, and proper setup of your development environment.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Deploy to C++ Applications Using mwArray API (C++03)에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!