我试图在 C++ 库中调用 C++ 库中的函数, 并配有 C 兼容的信头, 它让我在 4x4 矩阵中通过 。
我的 Go 函数定义看起来像这个 : < stripp/ >
func GetMatrix(matrix [][]float32)
func GetMatrix(matrix []float32)
C页头是这样定义的:
void getMatrix(const float **matrix)
我尝试使用 C. GoBytes 来获得字节数组, 但从那里我有点迷路了, 因为我必须从字节数组到一组指针, 然后我又将其转换为字节数组, 并最终形成一组浮点数 。 stike>
至少我认为这是我需要做的。
我见过用C阵列数据取代Go切片的代码的例子,但我相信,在这种情况下,Go GC不会收集。 理想的矩阵将表现为正常的Go切片。
Edit: The documentation was incorrect, and the underlying C type is actually a 16 element float array.
那么问题就出现了,我能否用C.GoBytes 指针,指向一个阵列的指针,如果是这样,我如何从字节处得到一个浮流32?