我想知道C#项目设置是否“允许不安全的代码”。仅适用于项目本身的不安全C#代码,还是在链接本机C ++ DLL时需要设置此选项?如何链接自身链接到本机DLL的托管DLL?这个选项在引擎盖下真正做了什么?

有帮助吗?

解决方案

它与“不安全”有关。 C#中的关键字。 "不安全"关闭通常会发生的所有检查,并允许您直接访问内存。它不是指调用本机C ++ DLL或接口。

其他提示

它允许您使用“不安全”的块。

unsafe(...)
{
}

这只涉及使用 unsafe 块(可以使用指针)。它不管理P / Invoke。

必须使用不安全的{}上下文。过去需要使用sizeof(),但在以后的版本中不再适用。

如果您要使用其他语言(例如C)编写的另一个DLL,则不需要允许不安全的代码。

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