Mono.NET是否支持并编译C++;/CLI? 是否支持和编译C++/CLI?< /P>

Mono.NET是否支持并编译C++;/CLI? 是否支持和编译C++/CLI?< /P>,.net,mono,c++-cli,.net,Mono,C++ Cli,如果没有,你知道他们是否有支持它的计划吗?去“缺少的语言”下看看。但不能编译并不意味着不能运行。您可以使用框架SDK编译C++代码,并尝试使用MUNO运行它。无论如何都值得一试。Mono能够运行C++/CLI生成的“纯”程序集,即不包含任何本机代码的程序集。C++编译器支持的各种/CLR选项被记录在./P>上。 目前不支持编译C++/CLI。在修改GCC以发出IL方面已经做了一些工作,但还没有完成(并且看起来没有激活)。看这个 我不相信Microsoft文档在程序集中包含本机代码的格式,因此支持

如果没有,你知道他们是否有支持它的计划吗?

去“缺少的语言”下看看。但不能编译并不意味着不能运行。您可以使用框架SDK编译C++代码,并尝试使用MUNO运行它。无论如何都值得一试。

Mono能够运行C++/CLI生成的“纯”程序集,即不包含任何本机代码的程序集。C++编译器支持的各种/CLR选项被记录在./P>上。 目前不支持编译C++/CLI。在修改GCC以发出IL方面已经做了一些工作,但还没有完成(并且看起来没有激活)。看这个


我不相信Microsoft文档在程序集中包含本机代码的格式,因此支持本机代码是困难的。

我们没有C++/CLI编译器,对于一个非常小的用户群来说,这将是一个非常大的任务。还要考虑C++/CLI规范本身有缺陷和不可移植性,所以编译它在一般情况下没有多大帮助。 您可以使用MS.NET编译器进行编译,并在mono中运行,但有以下限制:

  • 如果C++/CLI应用程序是纯托管的,那么可以在任何系统上使用mono运行(但是,为什么要使用如此难看的语言而不是C#?)

  • 在其他情况下,在windows上使用mono运行(C++/CLI应用程序通常不可移植,并且包含本机代码,因此它们只能在windows上运行,对于mono的主要目标(即在Linux上运行托管程序)来说,它们是不感兴趣的)


  • 请注意,MS本身最终将放弃C++/CLI,因此不要在其上投资太多,转而使用C#。

    不,C++/CLI在Mono下,而且可能永远不会在Mono下运行,尽管使用MS编译器生成纯IL将允许完全托管的代码在Mono下运行


    作为一种互操作语言,C++/CLI的存在使调用非托管代码成为可能。另一种选择是使用P/Unjk,但存在问题。在MMOO 2.4上,可以使用C++/CLI应用程序在C++ Visual Studio 2008中编译/CLR:SturnalSwitcor。

    最近在C++

    互操作性方面取得了很大的进步。 简而言之,新的CXXI技术允许C#/.NET开发人员:

      容易从C++或任何其他.NET中使用现有C++类。 语言 实例化C++中的C++对象
    • 从C++代码
    • 中调用C++类中的C++方法 从C++代码中调用C++内联方法(如果您的库是用-fFieldIn函数编译的,或者提供代理) 图书馆)
    • C++类的子类C++ < /LI>
    • 用C++方法超越C++方法< /LI>
    • 将C++类或混合的C++/C类类实例暴露为C代码和C++,就像它们是本机代码一样。

    CXXI是谷歌代码暑期的两个夏天的成果,旨在提高单语言与C++语言的互操作性。p> 这是一个非常古老的问题,几年后有了非常有趣的答案。
    截至目前,最活跃的分支已于2013年移回存储库,并正在积极开发中,当前树可在以下位置找到:

    其自述文件为,且“生成器”的功能为:

    • 多个后端:C++/CLI和C#P/Invoke
    • 多个ABI:安腾、MS、ARM、iOS和iOS64
    • 多平台:Windows、OS X和Linux
    • 虚拟表覆盖支持
    • 多重继承支持
    • 通过用户通道轻松扩展语义
    • 对STL的在制品支持(仅限C++/CLI)
    • 强类型定制API和类型映射

    它还附带了很多很酷的AST内容和解析器。

    “MS本身最终会放弃C++/CLI”您能解释一下为什么这样想吗?我觉得不太可能。托管C++已经不支持和中断了,没有花太长时间来做。现在开始统计过去一两年中与C++/CLI相关的新闻、博客文章和公告。连接点。托管C++由于显著可用性问题而被丢弃。作为互操作语言的C++/CLI不会消失,但它已经是GUI—WPF的二等公民了,而且它将永远不会被支持。很有趣的是,C++是死评论,一直持续到2011年底。C++在微软(WRET)做得很好,现在有些人担心它是C。我不这么认为。无论如何,现在你可以用XAML开发C++应用程序,所以上面的一些评论家一定会感到惊讶。我认为这里真正的问题是Mono必须如何取代这个差距:我如何将我的绑定写到C++库中来使用?只说“C++/CLI糟透了,所以我们不会这么做”,而不去考虑使用什么是一回事。你在想什么样的问题?这个项目的当前状态如何?它是否处于可用状态?回购协议已经有一年左右没有任何活动了,讨论小组也非常活跃。如果将来有任何计划支持这一点,那会很有趣。它似乎已经死了。