.net - jagged - Cómo reunir matrices multidimensionales
multidimensional array java (1)
Tenemos un código de interoperabilidad que implica matrices. Estaba intentando llamar a la DLL nativa y, en su mayor parte, funciona de manera muy confiable.
Confío en la clasificación predeterminada por .net , evitando punteros no administrados y en su lugar usando arreglos .net en su mayor parte, y tal vez un byref
aquí y allá. El artículo de .net dice que las matrices multidimensionales se organizan implícitamente como matrices unidimensionales de columnas principales, lo que estaría bien.
Lo único que parece no funcionar es intentar organizar una matriz multidimensional, ya que el compilador de F # se queja de que float[,]
no está permitido en una declaración extern
. ¿Hay alguna forma de evitar esta limitación?
PinnedArray2
tipos PinnedArray
y PinnedArray2
del F # PowerPack, pero estaba buscando una solución que dependa de punteros administrados y, lo que es más importante, me gustaría evitar tener que incluir F # PowerPack como una dependencia solo para las clases PinnedArray
.
Con esta descripción sobre los tipos Blittable y Non-Blittable en el siguiente enlace, puede probar System.Doble en lugar de float, ya que no requieren conversión cuando se pasan entre código administrado y no administrado, lo que significa que ya no se requiere un manejo especial por interoperabilidad. Marshaler con un plus en rendimiento: https://msdn.microsoft.com/en-us/library/75dwhxf7%28v=vs.110%29.aspx
Hice una búsqueda y encontré este tema relacionado que puede ayudarte:
Threat like a single array: http://.com/a/18607817/4597705