C ++ CLI 编译器是否能够编译一些大型C ++类而无需修改?

C ++ CLI是C ++的超集吗?

有帮助吗?

解决方案

技术上没有,但根据C ++代码的标准,你可能会很好。当你进入Windows的东西时,你可能会遇到问题。我编译了我们在C ++ / CLI工作时使用的整个游戏引擎,它运行得很好。一位同事为所有的mozilla做了同样的事情而没有这样的运气。

其他提示

根据维基百科

  

C ++ / CLI应该被认为是它自己的语言(例如,使用一组新的关键字),而不是面向C ++超集的托管C ++

我在C ++ / CLI上的学习曲线仍然是新的 - 但我自己也有同样的问题,到目前为止我所确定的是C ++ / CLI作为一种语言,是一个超集的标准C ++。

如果您不使用CLI扩展,您的C ++代码最终将作为本机非托管代码,并且应该基本相同,但编译为CLR IL,而不是本机x86。

一旦开始使用CLI扩展(并开始使用对象/句柄/托管类),您就会开始更深入地与底层CLR平台进行交互。在那时,它基本上变成了一种新的“语言”,你必须将你的想法分开在“非管理”之间。一方和“管理”方面侧。

C ++ / CLI不是C ++的超集。它是一个有附加功能的子集。例如。 C ++ / CLI不支持多重继承。

安吉洛

Marcus Heege的书“用于Visual C ++程序员的专家C ++ / CLI.NET”指出:

  

C ++ / CLI是一组扩展   C ++语言受益于   服务即执行   CLI提供。

然后在同一页面上:

  

C ++ / CLI是C ++语言的超集。

他的优秀书籍可从此处免费获取。

我能够将整个Qt库(这是巨大的)编译为带有次要修改的C ++ / CLI(主要在构建环境中,但也修复了Qt源代码中的一个错误)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top