Why do I receive a calling convention error when calling a Fortran function from a C S-Function with Simulink?
1 view (last 30 days)
Show older comments
I have a legacy Fortran function that I am using from Simulink via a S-Function wrapper. When I debug it using Visual Studio, MSVC gives me the following error about calling conventions.
Debug Error!
The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
The error message indicates that there is a calling convention mismatch.
A workaround is to try placing a __stdcall or __fastcall statement (depending on the compiler) between the "extern type" and the function name in the function prototype in the c-file.
0 Comments
More Answers (0)
See Also
Categories
Find more on Simulink Coder in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!