필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
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.

채택된 답변

JoRo
JoRo 2023년 3월 7일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Use Prebuilt MATLAB Interface to C++ Library에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by