在C#或VC++中导入MinGW C++DLL
本文关键字:导入 MinGW C++DLL VC++ | 更新日期: 2023-09-27 17:58:05
我有一个带有源代码(约20k行)的MinGW DLL,我需要在CLR中使用该DLL中的一些类。起初,我试图为C++类(我刚刚从源代码中复制)编写Manged C++包装类,并从C#中引用这个类。但是VC++编译器和MinGW存在差异,因此本机代码编译时会出现一些错误!我在C++和ASM方面没有太大的经验,它会产生一些问题。
告诉我,伙计们,有没有一种方法可以在VC++或C#中导入MinGW类?
UPD:
MingGW与VC++的区别:
- ASM调用代码,如
asm("fnstcw %0'n" : "=m" (cw) : : "memory");
asm("fldl (%0)'n": : "r"(x): "st(7)"); };
asm("fstps (%0)'n": : "r"(x): "memory", "st");
未在VC++中编译。我从来没有写过比MOV AX、BX:)更难的汇编代码
- 它还执行fortran代码,我不明白它是如何执行的:)
几点:
-
您不能使用C++DLL,但您可以将C DLL用作任何其他本机DLL。
请参阅:http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs
-
关于代码-它更改了一些FPU选项,因此如果您想将其移植到C#/。网你应该先了解它的作用。