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 件のコメント

Kaustubha Govind
Kaustubha Govind 2013 年 4 月 30 日
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 2013 年 5 月 1 日
編集済み: Kaustubha Govind 2013 年 5 月 1 日
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 2013 年 5 月 1 日
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?

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

製品

タグ

質問済み:

2013 年 4 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by