DPI-C 结构中的动态数组

Dynamic arrays in Struct in DPI-C

我想在使用 DPI 传递给 C 的结构中使用动态数组。

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

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

根据 LRM 部分 35.5.6 形式参数的类型,结构只能包含该部分中列出的类型。动态大小的数组不是其中之一。

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