除了代码本身可以直接访问内存这一事实之外。使用“/unsafe”编译器标志和“fixed”关键字还有什么其他含义?是否有与我的 .exe 的代码签名和部署相关的任何连锁效应(我的应用程序仅限桌面)?
(这不是我是否应该这样做的问题,why我的问题涵盖了here https://stackoverflow.com/questions/702188/can-this-code-be-optimised)
您可以将其影响分为两个部分。
首先是它如何影响您的应用程序环境。使用不安全的代码要求您的程序集在完全信任的环境中运行。无法在受限环境(例如某些 Click Once 安全设置)中运行。原因是不安全的代码阻止 CLR 确保类型安全。尽管没有安全限制,但单击一次应该不会有问题。
第二个是它对你的编码方式意味着什么。使用不安全代码通常涉及使用指针,特别是使用它们通过 PInvoke 执行高级编组。不过,这些行为本质上并没有什么错误。它只是需要比“安全”代码更多地了解 CLR 和编组。对象固定是一个很好的例子,在开始使用这些功能之前,您需要牢牢掌握这些知识。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)