分享

Understanding tinyos Safe Code(ONE,ONE_NOK)

 幸福的乐土 2012-04-18
在tinyos的许多程序中都可以见到ONE或者ONE_NOK等修饰符,这些修饰符用于标注不变量使得编译器能适当地进行静态和动态的检查。在NesC程序中,这些标注用于接口文件或者全局变量/局部变量。

ONE 

        A pointer that always refers to a single object, similar to a C++ reference.

ONE_NOK 
Same as ONE but may be NULL.
COUNT(n) 
A pointer that always refers to a block of at least n objects.
COUNT_NOK(n) 
Same as COUNT but may be NULL.
BND(n,m) 
A pointer p such that n≤p<m, and that is aligned with respect to n and m.
BND_NOK(n,m) 
Same as BND but may be NULL.
TCAST(type,expr) 
A trusted cast, which tells Deputy to just trust the programmer. This is needed to perform casts that are safe, but are beyond the reach of Deputy's type system. Pointer casts in the network stack (e.g. getHeader() and getFooter() code) tend to fall into this category.
TRUSTEDBLOCK 

Code that is completely trusted (i.e., ignored by Deputy). This is used in very few places, and should be avoided when possible.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多