How to convert my mexFunction into external C function for Matlab Coder

조회 수: 11 (최근 30일)
I have a mexFunction C source code that does json decoding, I was using it with coder.extrinsic but I just got to know that extrinsic functions cannot be used in Standalone Code Generation to C.
I want to convert this mexFunction code such that I can call it using coder.ceval
Do I need to remove all the mxArray, mxCreateStructMatrix types and use plain C data types, or is there a way to keep the current implementation of the mexFunction and get away with making minimal changes to make it an external function?
My input is a json string, and my output is a complicated structure similar to what jsondecode would give in matlab.

채택된 답변

Mukund Sankaran
Mukund Sankaran 2024년 1월 9일
Yes, you would need to write your own function that doesn't use the mx* data types, so it can be invoked via coder.ceval.
It looks like you would benefit from jsondecode being supported by MATLAB Coder directly, but unfortunately, that is not the case as of MATLAB R2023b. We've made an internal note of your request so we can look at lifting that limitation in the future.
  댓글 수: 1
Jaswanth Krishna
Jaswanth Krishna 2024년 1월 10일
Thanks for the response. Is it possible to point me to a C/C++ implementation of jsondecode?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 JSON Format에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by