Why do I receive a calling convention error when calling a Fortran function from a C S-Function with Simulink?

3 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 27 Juin 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.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink Coder dans Help Center et File Exchange

Tags

Produits


Version

R2006a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by