代码之家  ›  专栏  ›  技术社区  ›  Brian Stewart

C项目设置“允许不安全代码”的实际功能是什么?

  •  4
  • Brian Stewart  · 技术社区  · 16 年前

    我想知道,C项目设置“允许不安全代码”是否仅适用于项目本身中的不安全C代码,或者当在本机C++ DLL中链接时是否需要设置该选项?在一个本身链接到本机dll的托管dll中进行链接怎么样?在引擎盖下,这个选项真正做什么?

    4 回复  |  直到 16 年前
        1
  •  8
  •   Nick Berardi    16 年前

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

        2
  •  5
  •   Maxime Rouiller    16 年前

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

    unsafe(...)
    {
    }
    
        3
  •  5
  •   Jeff Yates    16 年前

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

        4
  •  3
  •   cfeduke    16 年前

    必须使用不安全的上下文。它曾经是使用sizeof()所必需的,但在以后的版本中,它不再是真的了。

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