Импорт MinGW C ++ DLL в C # или VC ++ - PullRequest
1 голос
/ 29 мая 2011

У меня есть MinGW DLL с исходным кодом (~ 20 тыс. Строк), и мне нужно использовать некоторые классы из этой DLL в CLR. Сначала я попытался написать класс-обертку Manged C ++ для класса C ++ (который я только что скопировал из исходного кода) и сослаться на этот класс из C #. Но есть различия между компилятором VC ++ и MinGW, поэтому нативный код компилируется с некоторыми ошибками! У меня нет большого опыта в C ++ и ASM, и это создает некоторые проблемы.

Скажите, ребята, есть ли способ импортировать класс MinGW в VC ++ или C #?

UPD:

Различия MingGW и VC ++:

  1. код вызова ASM, например

asm("fnstcw %0\n" : "=m" (cw) : : "memory");<br/> asm("fldl (%0)\n": : "r"(x): "st(7)"); };<br/> asm("fstps (%0)\n": : "r"(x): "memory", "st");

не компилируется в VC ++. Я никогда не писал код ассемблера сложнее, чем MOV AX, BX:)

  1. Он также выполняет код Fortran, и я не понимаю, как:)

1 Ответ

5 голосов
/ 29 мая 2011

Несколько баллов:

  1. Вы не можете использовать C ++ DLL, но вы можете использовать C DLL как любую другую встроенную DLL.

    См .: http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs

  2. О коде - он изменяет некоторые параметры FPU, поэтому, если вы хотите перенести его на C # /. Net, вы должны сначала понять, что он делает.

...