【问题标题】:What is the actual function of the C# project setting "Allow unsafe code"C#项目设置“允许不安全代码”的实际作用是什么
【发布时间】:2008-10-24 14:27:40
【问题描述】:

我想知道 C# 项目设置“允许不安全代码”是否仅适用于项目本身中的不安全 C# 代码,或者在链接本机 C++ DLL 时是否需要设置此选项?如果在托管 DLL 中进行链接,该 DLL 本身链接到本机 DLL?这个选项到底有什么作用?

【问题讨论】:

    标签: c# dll interop native unsafe


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      unsafe(...)
      {
      }
      

      【讨论】:

        【解决方案3】:

        这仅与unsafe 块的使用有关(其中可以使用指针)。它不管理 P/Invoke。

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 2014-03-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多