Tipps zur Verwendung einer C-Bibliothek in C #

Ich habe eine Bibliothek in C, die ich aus C # verwenden möchte.

Von dem, was ich aus dem Internet gelernt habe,eine Idee ist es, es in eine C ++ - DLL zu packen, und das DllImport.

Das Problem ist, dass die Funktion, die ich aufrufen möchte, einen ziemlich unangenehmen Parametersatz hat: einschließlich eines Verweises auf eine Funktion (die eine .NET-Funktion sein wird) und ein paar Arrays (einige schreiben, andere lesen).

int lmdif(int (*fcn)(int, int, double*, double*, int*), 
          int m, int n, double* x, double ftol, double xtol, double gtol, 
          int maxfev, double epsfcn, double factor)

Auf was sollte ich bei einer solchen Benutzeroberfläche achten? (Und bitte auch Lösungen)

Warum gehst du nicht ...

- In C # umschreiben? Ich habe angefangen, aber es wurde bereits maschinell aus FORTRAN übersetzt, und ich mag es nicht, Dinge zu programmieren, die ich nicht verstehen kann.

- Benutzeneine vorhandene .NET-Bibliothek? Ich versuche es gerade, aber die Ergebnisse stimmen nicht genau überein

- Neukompilieren in C ++? Ich denke darüber nach, aber es sieht nach viel Schmerz aus

Antworten auf die Frage(6)

Ihre Antwort auf die Frage