代码之家  ›  专栏  ›  技术社区  ›  Francesco Belladonna

反转pinvoke并创建一个完整的非托管C程序

  •  3
  • Francesco Belladonna  · 技术社区  · 15 年前

    我知道这是一个奇怪的问题,但是这个想法很简单:我更喜欢C语法而不是C++。 -直接在属性内的setter和getter -接口 -foreach语句 -声明隐式强制转换运算符的可能性

    其他小事情…

    我真正不知道的是,如果我不使用任何命名空间(即使是系统),如果C语言中可以导入一个C++ DLL(特别是STD库)。

    这个想法只是编写一个程序,使用你通常在C++中使用的所有东西(没有CLR的任何东西),甚至Primtf。

    谢谢你的回答

    3 回复  |  直到 10 年前
        1
  •  1
  •   Ben Voigt    10 年前

    现在有点接近这个了

    .NET Native 将C++编译成类似C++的本地机器代码。您将继续受益于.NET框架的工作效率和熟悉本地代码的出色性能。

    仅适用于Windows应用商店应用程序(桌面应用程序将来可能会出现):

    桌面应用程序是我们战略中非常重要的一部分。最初,我们将重点放在.NET本机的Windows应用商店应用程序上。从长远来看,我们将继续改进所有.NET应用程序的本机编译。

    应用程序将作为完全独立的本机编译代码部署在最终用户设备上(当.NET本机进入生产时),并且不会依赖于目标设备/计算机上的.NET框架。

        2
  •  3
  •   JaredPar    15 年前

    不可能简单地将现有的C或C++文件导入到C语言项目中。它们是非常不同的语言,不能在源代码级别混合。

    混合C语言和C++应用程序的方法是在PNEKE或COM互操作级别。这是通过复制C中的签名,并允许C编译器确定本机类型的二进制布局,以便在语言之间进行封送处理来实现的。

        3
  •  0
  •   Stephen Cleary    15 年前

    不,这是不可能的。特别地,C++模板不支持C++模板。