zoukankan      html  css  js  c++  java
  • 非托管代码方法的命名约定

    经常看到很多Assembly内部都使用了非托管代码,而且命名混乱,其实MSDN已经给出了相关的建议:

    为了给非托管代码方法命名,目前已建立了一个非常有用的约定,强烈建议您采用该约定。所有非托管代码方法被分为三个类别:safenativeunsafe。这些关键字可以用作类名,各种非托管代码入口点都分别定义到了这三个类中。在源代码中,应当将这些关键字添加到类名中,例如,就像在 Safe.GetTimeOfDay, Native.XyzUnsafe.DangerousAPI 中一样。这些关键字中的每一个都为使用该类的开发人员提供了有益的安全信息,如下表所示。

    关键字 安全注意事项

    safe

    对于任何代码,即使是恶意代码,进行调用都完全无害。可以像其他托管代码一样使用。例如,获取时间的功能通常是安全的。
    比如:System.Windows.Forms.SafeNativeMethods

    native

    不受安全性影响的;即,需要非托管代码权限才能调用的非托管代码。检查安全性,以阻止未经授权的调用方。
    比如:System.Windows.Forms.NativeMethods

    unsafe

    潜在的危险非托管代码入口点,安全性受影响。使用这种非托管代码时,开发人员应当最为小心,
    要确保采取其他防范措施以避免出现安全漏洞。开发人员必须认真负责,因为此关键字重写安全系统。
    比如:System.Windows.Forms.UnsafeNativeMethods

  • 相关阅读:
    人脸识别-常用的数据库Face Databases From Other Research Groups
    447. Number of Boomerangs
    356. Line Reflection
    149. Max Points on a Line
    279. Perfect Squares
    264. Ugly Number II
    204. Count Primes
    263. Ugly Number
    202. Happy Number
    4. Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/winkingzhang/p/994394.html
Copyright © 2011-2022 走看看