У нас есть некоторый код взаимодействия, который включает в себя матрицы. Я пытался вызвать родную DLL, и по большей части он работает очень надежно.
Я полагаюсь на стандартную сортировку по .net, избегая неуправляемых указателей и, скорее, используя .net-массивы по большей части и, возможно, byref
здесь и там. В статье .net говорится, что многомерные массивы неявно распределяются как одномерные массивы столбцов, что было бы хорошо.
Единственное, что, похоже, не работает, пытается маршалировать многомерный массив, поскольку компилятор F # жалуется, что float[,]
не допускается в объявлении extern
. Есть ли способ ограничить это ограничение?
Я знаю типы PinnedArray
и PinnedArray2
из F # PowerPack, но я искал решение, основанное на управляемых указателях, и, что более важно, я бы хотел не включать F # PowerPack как зависимость только для классов PinnedArray
.