S Function Error while generationg mex file

I have a header file with a prototype of a function( myfunc)and a function ponter to it. The c code generated with call through the function pointer to the myfunc inside the s19 file.
I get the following error while doing the legacy_code('compile', def) Error EH_fltPOW_flt_flt.c: 184 operands of = have illegal types `float' and `pointer to float function(float,float)' .

3 comentarios

Kaustubha Govind
Kaustubha Govind el 30 de Abr. de 2013
Please also paste the prototype of the C function you are trying to call out, and the exact Legacy Code Tool commands that you are using.
Sunu
Sunu el 1 de Mayo de 2013
Editada: Kaustubha Govind el 1 de Mayo de 2013
def.OutputFcnSpec='single y1=EH_fltPOW_flt_flt(single u1, single u2)'
def.HeaderFiles={'myfunction.h'}
myfunction.h has
typedef float (*EH_fltPOW_flt_flt_type)(float, float);
#define EH_fltPOW_flt_flt ((EH_fltPOW_flt_flt_type)(0x66f74));
legacy_code('sfcn_cmex_generate', def); legacy_code('compile', def);
thats when I get the error mentioned
Kaustubha Govind
Kaustubha Govind el 1 de Mayo de 2013
Seems like there might be a problem with how the function pointer is defined. Are you able to write and compile C code separately that attempts to call into the function-pointer? If so, how do you call into it?

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Simulink Coder en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 29 de Abr. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by