Mono .NET 是否支持和编译 C++/CLI?
如果没有,你知道他们是否有支持它的计划吗?
我们没有用于 C++/CLI 的编译器,对于非常小的用户群来说,这将是一项非常大的工作。还要考虑到 C++/CLI 规范本身就有缺陷且不可移植,因此在一般情况下能够编译它并没有多大帮助。
您可以使用 MS .NET 编译器进行编译并在具有以下限制的情况下以单声道运行:
如果 C++/CLI 应用程序是纯托管的,那么可以在任何系统上使用 mono 运行(但是,为什么要使用如此丑陋的语言而不是 C#?)
在其他情况下,在 windows 上使用 mono 运行(C++/CLI 应用程序通常是不可移植的,并且包含本机代码,因此它们只能在 windows 上运行,并且对于 mono 的主要目标是在 Linux 上运行托管程序无趣)
请注意,MS 本身最终会放弃 C++/CLI,所以不要在它上面投入过多并切换到 C#。
Mono 最近在CXXI中的 C++ 互操作性方面取得了相当大的进步。
从这篇文章中可以看出,新的 CXXI 技术允许 C#/.NET 开发人员:
CXXI 是 Google Summer of Code 两个暑期工作的成果,旨在提高 Mono 与 C++ 语言的互操作性。
这是一个非常古老的问题,几年后得到了非常有趣的答案。
截至目前,tritao/CppSharp是mono/cxxi开发最活跃的分支,它于 2013 年移回mono存储库,并且从那时起一直在积极开发,当前的树可以在mono/CppSharp找到
他们的自述文件在这里,“生成器”的功能是:
它还带有很多很酷的 AST 东西和一个解析器。
在 Mono 2.4 上,您可以运行在带有 /clr:safe 开关的 Visual Studio 2008 下编译的 C++/CLI 应用程序。
去这里看看“缺少的语言”。但不能编译不代表不能运行。您可以使用框架 sdk 编译您的 C++ 代码并尝试使用单声道运行它。总之值得一试。