Ciao,
ho difficoltà nell'utilizzare una funzione esportata da una lib C++ in un progetto .NET in C#.
Mostro il codice: (C++)
Nel passare le due matrici double ho sempre un'eccezzione... ({"Tentativo di lettura o scrittura della memoria protetta. Spesso questa condizione....etc) dipende cmq da un passaggio di parametri errato a quanto ho capito.... ho provato ad impostare vari parametri per le marshal ma non ho capito.codice:__declspec(dllexport) void FuncC( Mlp* net, double **inputPatterns, double **outputPatterns, uint inputRows, uint num_input_units, uint num_units_for_output_layer, double errorTarget = 0.01, uint maxEpochs = 10000, double maxUpdateValue = 50.0, double minupdateValue = 0.001, double growthFactor = 1.2, double decreaseFactor = 0.5 ) { ....
In teoria dovrebbe essere dal codice C#:
Ho letto qui:codice:[DllImport("libsann.dll", CallingConvention=CallingConvention.Cdecl)] public extern static void FuncSharp( IntPtr net, [In, Out] double[,] inputPatterns, [In, Out] double[,] outputPatterns, uint inputRows, uint numberOfInputUnits, uint numberOfUnitsForOutputLayer, double errorTarget = 0.01, uint maxEpochs = 100000, double maxUpdateValue = 50.0, double minUpdateValue = 0.001, double growthFactor = 1.2, double decreaseFactor = 0.5);
http://msdn.microsoft.com/en-us/library/hk9wyw21.aspx
secondo voi?
grazie.

Rispondi quotando