只需点击 xtensor,我喜欢它,我会尝试从 vba(excel)中使用它。为了保持这个“测试”简单,我打算只使用双精度矩阵,它们作为 LPSAFEARRAY 传递给 C/C++ dll。
在 dll 中,使用接收到的 LPSAFEARRAY 构建一维适配器,使用数据指针和大小(行 x 列)。我认为这对于映射操作来说已经足够了。
棘手的部分是如果我需要矩阵,主要问题是数据以 fortran(列优先)顺序传输。我没有找到任何 2D 适配器,所以我的猜测是我必须改造上面的 1D 适配器:
a) reshape it, to (columns, rows) b) transposed view of a)
以上是正确的,还是有更简单、更直接的方法?
这种访问数据的方法是否存在速度损失?