return the pointer or the structure of C structure in C mex file

3 ビュー (過去 30 日間)
XAXRXTX
XAXRXTX 2015 年 3 月 2 日
コメント済み: Guillaume 2015 年 3 月 2 日
Hi
I have a C function inside a mex file that return a large structure ( 110 fields ), and I want to return this structure to matlab , so , my question is how to copy or to return the pointer of the C structure to Matlab ?
thanks in advance

回答 (1 件)

Guillaume
Guillaume 2015 年 3 月 2 日
You can't, matlab does not understand C structures. You'll have to convert your structure to a matlab structure (which is a very different beast). See mxcreatestructarray and mxsetfield to create matlab structs.
  3 件のコメント
James Tursa
James Tursa 2015 年 3 月 2 日
Yes, you need to write code to copy each field one at a time.
Guillaume
Guillaume 2015 年 3 月 2 日
Unless all the fields are the same type, I don't see any other way but to copy each field one by one I'm afraid.

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

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by