Pase la matriz de bytes de Unity C # al complemento C ++
Estoy tratando de pasar datos de textura sin procesar de Texture2D (matriz de bytes) a código C ++ no administrado. En el código C #, la longitud de la matriz es de aproximadamente 1,5kk, sin embargo, en C ++ 'sizeof' siempre devuelve 8.
Declaración de C # del método nativo:
[DllImport("LibName", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr ProcessData(byte[] data);
C ++:
extern "C" {
__declspec(dllexport) void ProcessData(uint8_t *data) {
//sizeof(data) is always 8
}
}
¿Qué estoy haciendo mal? ¿Hay alguna manera de pasar la matriz sin asignación de memoria adicional en el código C ++?