C和x2B之间有什么区别+;和C++;CLI 我学习C++(CLI),每次我问一个问题,说我在用C++,有人跳过我的喉咙说我不使用C++,而是C++ +CLI。我真的不确定有什么不同,因为我对这一点非常陌生,但这似乎让每个人都很不高兴。有人能解释一下这些区别吗

C和x2B之间有什么区别+;和C++;CLI 我学习C++(CLI),每次我问一个问题,说我在用C++,有人跳过我的喉咙说我不使用C++,而是C++ +CLI。我真的不确定有什么不同,因为我对这一点非常陌生,但这似乎让每个人都很不高兴。有人能解释一下这些区别吗,c++,c++-cli,C++,C++ Cli,第二,我问这个问题的原因是,有人建议我使用CLI来实现。我的C++项目中,通过我的构造函数,所有的东西都运行良好,但是现在我希望能够调用我的C项目中的那些方法。 C++ +CLI在“公共语言接口”上运行。这基本上意味着在编译时,编译后的代码将像通过C#生成的字节码一样被分配 C++ +CLI有很多扩展,比如在C++中不存在的垃圾回收。C++ CLI还允许使用“安全”C++代码。在此模式下,不允许使用指针。C++中没有“安全”代码,它都是“不安全的”。C++ CLI可以很好地用于接口.NET代码

第二,我问这个问题的原因是,有人建议我使用CLI来实现。我的C++项目中,通过我的构造函数,所有的东西都运行良好,但是现在我希望能够调用我的C项目中的那些方法。

C++ +CLI在“公共语言接口”上运行。这基本上意味着在编译时,编译后的代码将像通过C#生成的字节码一样被分配

C++ +CLI有很多扩展,比如在C++中不存在的垃圾回收。C++ CLI还允许使用“安全”C++代码。在此模式下,不允许使用指针。C++中没有“安全”代码,它都是“不安全的”。C++ CLI可以很好地用于接口.NET代码和C++库,但除此之外,我还没有找到它的使用。 维基百科页面有一个很好的概述:


是的,他们是正确的,跳到你可以在C++中编程,不允许你在C++中编程……它们不同,你不能把它们混合。

< P> AFAIK,C++ CLI让你可以访问.NETFramework。< /P>
它提供了一些垃圾收集和一些其他一些特定功能,这些功能不是在C++上实现的。

C++直接作为二进制代码运行,适合您的硬件。C++ CLI是用于与MS公共语言运行库接口的C++扩展。它通常遵守IL,并在.net运行时内执行。这两者之间有许多不同之处,其中一些主要的不同之处在于垃圾收集以及继承和接口的工作方式


使用c++Cli的原因是利用框架提供的数百个类的优势。这些都是从任何符合CLR的语言访问的,所以有些人一直在想为什么会使用C++ C++来访问框架,除非你链接到一些遗留代码。

你可以在CLI项目中编译C++代码,只要你不使用一个REF类的普通C++语法规则就行了。当然,C++ C++ C++是尼尔的超集(除了代码>输出导出/代码>等其他大多数C++编译器都不实现的),所以大多数合法C++也将被编译为C++/CLI。也就是说,实际上所有的C++和CLI代码都使用扩展,所以它甚至不太类似于C++。