How to define the <SHAPE> of an array with variable size in a c++ clib function?

4 visualizaciones (últimos 30 días)
Hi,
I am trying to build a c++ clib.
After running:
clibgen.generateLibraryDefinition(...)
I get a definemylib.mlx.
There I have to define the shape of the function input:
defineArgument(mycppfunctionDefinition, "myarray", "clib.array.mylib.Double", "input", <SHAPE>)
In my c++ file, the corresponding function is defined as:
void mycppfunction(double myarray[]);
Because the size of myarray changes in matlab, I do not know how to define the <SHAPE>.
but I did not find an answer, if the size is unknown / changing...
Can anyone give me a tip, how to solve this problem?
Best regards.

Respuesta aceptada

JoRo
JoRo el 7 de Mzo. de 2023
In case anyone faces the same issue: I solved the problem.
I had to redefine the c++ function to:
void mycppfunction(double myarray[], size_t len);
Then I had to add "len" to the definemylib.mlx file to:
defineArgument(mycppfunctionDefinition, "myarray", "clib.array.mylib.Double", "input", "len").
Now it works.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by