gpt4 book ai didi

c# - 在 C# 或 VC++ 中导入 MinGW C++ DLL

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:37 25 4
gpt4 key购买 nike

我有一个带有源代码(~20k 行)的 MinGW DLL,我需要在 CLR 中使用这个 DLL 中的一些类。起初我尝试为 C++ 类(我刚刚从源代码复制)编写 Manged C++ 包装器类,并从 C# 引用此类。但是VC++编译器和MinGW存在差异,因此本地代码编译时会出现一些错误!我在 C++ 和 ASM 方面经验不足,这会产生一些麻烦。

告诉我,有没有办法在 VC++ 或 C# 中导入 MinGW 类?

更新:

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. 您不能使用 C++ DLL,但可以像使用任何其他 native DLL 一样使用 C DLL。

    参见:http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs

  2. 关于代码 - 它更改了一些 FPU 选项,因此如果您想将它移植到 C#/.Net您应该首先了解它的作用。

关于c# - 在 C# 或 VC++ 中导入 MinGW C++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com