Converting mxArrays to libpointer in MATLAB block

1 次查看(过去 30 天)
I have an extrinsic function - foo(), with a prototype similar to below:-
[uint32, voidPtr, uint32Ptr] = foo(voidPtr, uint32Ptr);
I have created a uint32 pointer using libpointer and passed it to the calllib function call of foo(). Now code generation causes these types to be converted to mxArrays. So to convert these mxArrays to known types, we assign them to pre-defined variables of the desired type. But for me, the desired type is uint32Ptr. How do I pre-define a variable of type uint32Ptr as the result of libpointer is also an mxArray? Or, is there a way to declare a variable of type uint32?

采纳的回答

Kaustubha Govind
Kaustubha Govind 2013-8-9
I would recommend that you move all creation/extraction of libpointers also inside an extrinsic function, and have only builtin (MATLAB) types at the interface, so that you can pre-define them appropriately in your top-level function.
  1 个评论
Arun
Arun 2013-8-9
That is what I did initially - call a MATLAB function to extract pointer data. Thought there might be a prettier work-around to the problem! Thanks for the reply.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Coder 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by