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

  • 相关阅读:
    Python 2 与 python 3的区别
    语法基础题
    Python运算符_ 2018-07-26
    Python 各种语句:2018-07-27
    解决在Python中使用Win32api报错的问题,No module named win32api
    在CenOS7.5里安装Redis
    下载Redis
    重置CentOS6.5的登录口令
    如何在CentOS里切换操作系统所用的语言,中英文切换
    在Ubuntu里安装Mysql5.7.23
  • 原文地址:https://www.cnblogs.com/winkingzhang/p/994394.html
Copyright © 2011-2022 走看看