用于Silverlight CLR的C ++到字节码编译器?

时间:2010-05-03 19:12:37

标签: c++ c silverlight clr

我希望能够编译C / C ++库,使其在Silverlight CLR中的安全托管运行时内运行。

使用JVM执行此操作several tools允许C ++代码在CRT仿真层中运行(请参阅NestedVMLLJVM等),这有效地允许C ++代码在Java Applet中运行。对于Adobe Flash VM,甚至还有一个工具(参见Alchemy)。

但是,我似乎无法为CLR找到这样的工具。 fyi,MSVC工具似乎不允许这样:/clr:pure标志将创建在CLR中运行的C ++代码,但它不安全(因为CRT不安全)和{{1需要大量的代码更改(没有本机类型等)。

3 个答案:

答案 0 :(得分:1)

然后我觉得你很幸运。如果您的代码无法使用/ clr:safe标志,则无法将其编译为可在Silverlight中运行的内容。如果C ++正在做一些CLR不允许或不支持的事情,那么就没有办法直接解决这个问题。

根据您的代码所做的,您可以在服务器上执行它并通过Web服务从Silverlight调用它?

答案 1 :(得分:0)

你正在寻找的东西本来就不可能。问题是本机C ++类型允许直接访问指针。通过指针访问,您可以绕过.NET安全模型并破坏执行环境。这不仅仅是因为CRT不安全,而是因为指针不安全。

答案 2 :(得分:0)

原始海报想要做的事听起来不错......但也许不可能。

我认为你基本上希望能够在Silverlight中运行你的C ++代码,而无需将其移植到/ clr:safe

精致而高尚的追求。我也想这样做。但据我所知,你做不到:(

我见过的最接近的方法可能是针对单声道的...然后在clr中使用它?那是你的嵌套CRT。

我并不特别关心代码是否本机运行。我不想做的是将一个多行的C / C ++代码库移植到/ clr:safe,这样就可以在Silverlight中运行。

我认为那是OP想要的:)

祝他好运:(

相关问题