|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
[C#] Marshal
Ciao,
ho difficoltà nell'utilizzare una funzione esportata da una lib C++ in un progetto .NET in C#. Mostro il codice: (C++) 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#: 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. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Ho provato a passare degli elementi come double[,] e nella PInvoke dichiarare:
Codice:
[MarshalAs(UnmanagedType.LPArray)] double[,] inputPatterns, [MarshalAs(UnmanagedType.LPArray)] double[,] outputPatterns, ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:39.