1

我想在一个结构中使用一个动态数组,我使用 DPI 将其传递给 C。

我如何在 C 端实现它。我尝试在 struct 内使用 svOpenArrayHandle 但仍然无法正常工作。例子:

Struct a {
    int x;
    int y[];
}
4

1 回答 1

0

根据 LRM 第35.5.6 节 Types of form arguments,结构只能包含该节中列出的类型。动态大小的数组不是其中之一。

传递一个 int 数组会很容易,然后解压成一个合法的 C 结构。

于 2019-08-22T18:27:24.530 回答