我有一个带有源代码(约 20k 行)的 MinGW DLL,我需要在 CLR 中使用该 DLL 中的一些类。首先,我尝试为 C++ 类(我刚刚从源代码复制)编写 Manged C++ 包装类,并从 C# 引用此类。但VC++编译器和MinGW存在差异,因此 native 代码编译时会出现一些错误!我在 C++ 和 ASM 方面没有丰富的经验,这会产生一些麻烦。
告诉我,有没有办法在 VC++ 或 C# 中导入 MinGW 类?
更新:
MingGW 和 VC++ 的区别:
- 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 更难的汇编代码:)
- 它还执行 Fortran 代码,但我不明白如何执行:)
最佳答案
几点:
您不能使用 C++ DLL,但可以像使用任何其他 native DLL 一样使用 C DLL。
关于代码 - 它更改了一些 FPU 选项,因此如果您想将其移植到 C#/.Net 你应该首先了解它的作用。
关于c# - 在 C# 或 VC++ 中导入 MinGW C++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166777/