|
|||||||
|
|
|
![]() |
|
|
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: 08:43.



















