开发者

What is "verifiable managed assembly"

While checking the possibility of developing for Windows Phone 7 using C++, I came across this thread, wh开发者_运维问答ich states:

"...any language that can compile to a verifiable managed assembly (the verifiability requirement applies to all dependencies, too!) is good" (for WP7 development)

What is "verifiable managed assembly" and where can I learn more about this?


Verifiable code is code that gets compiled to IL and can be proven to not produce any IL that can execute unsafe code, bypass code access security checks or in any way corrupt the state of the CLR. The exact rules are complex however. The ten-thousand feet view is code written in managed languages like VB.NET or C# without the unsafe keyword. Nevertheless, you can write unverifiable code in C# without using the unsafe keyword. Check this answer for example.

There's a dedicated tool to check an assembly, PEVerify.exe. It executes the same checks the JIT compiler and the CLR perform. The bottom of the linked page has links to MSDN articles about verification.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜