Dicas para usar uma biblioteca C do C #

Eu tenho uma biblioteca em C que eu gostaria de usar do C #.

Pelo que eu consegui da internet,uma ideia é envolvê-lo em uma DLL C ++ e DllImport isso.

O problema é que a função que eu quero chamar tem um conjunto de parâmetros bastante desagradável: incluindo uma referência a uma função (que será uma função .NET) e alguns arrays (alguns escrevem, alguns lêem).

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)

Dada uma interface como essa, quais são os males que eu deveria estar procurando? (E soluções também, por favor)

Por que você não ...

- Reescreva em c #? Eu comecei, mas já é traduzido por máquina do FORTRAN, e não gosto muito de codificar coisas que não consigo entender.

- Usaruma biblioteca .NET existente? Estou tentando agora, mas os resultados não são exatamente os mesmos

Recompilar em C ++? Estou pensando nisso, mas parece muita dor

questionAnswers(6)

yourAnswerToTheQuestion