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

2 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Mukund Sankaran
Mukund Sankaran le 9 Jan 2024
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 commentaire
Jaswanth Krishna
Jaswanth Krishna le 10 Jan 2024
Thanks for the response. Is it possible to point me to a C/C++ implementation of jsondecode?

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by