zoukankan      html  css  js  c++  java
  • SV(1)

    • STATIC与AUTOMATIC的区别: 这主要是一个生命周期的问题。如果数据变量被声明为automatic,那么在进入该进程/方法之后,automatic变量会被创建,而在离开该进程/方法之后,automatic变量会被销毁。这同C语言的变量及其作用域的使用说明是一致的。而static变量在仿真开始时即会被创建,而在进程/方法执行过程中,自身不会被销毁,且可以被多个进程/方法所共享。 所以,对于automatic与static两种生命周期的数据类型,最直观的区别就是static在仿真过程中的任何时刻都可以被共享,且不会被销毁,直到仿真结束;而automatic变量则同软件的局部变量一样,在它的作用域生命结束时,它也会被销毁回收存储空间。
    • SV规定:在module、program、interface、task和function之外声明的变量拥有静态的生命周期,即存在于整个仿真阶段,这同C定义的静态变量一样。

                     在module、interface和program内部声明,且在task、process或者function外部声明的变量也是static变量,且作用域在该块中。

                     在module、program和interface中定义的task、function默认都是static类型。

                     在过程块中(task、function、process)定义的变量均跟随它的作用域,即过程块的类型,如果过程块为static,则它们也默认为static,反之亦然。这些变量也可以由用户显式声明为automatic或者static。

                     为了使得在过程块中声明的变量有统一默认的生命周期,可以在定义module、interface、package或者program时,通过限定词automatic或者static来区分。对于上述程序块默认的生命周期类型为static。
       

     

  • 相关阅读:
    Discuz 模板语句分析及知识技巧
    phpcms v9添加新模块
    simplexml 对xml的增删改操纵
    phpcms V9 相关阅读/相关文章
    怎么让php生成的网页源代码开头不出现空行
    phpcms v9 如何实现标签的嵌套
    在{pc:content action="lists"标签中加自定义限制条件的办法
    phpcms v9 内容页浏览数不显示问题
    【今日CV 视觉论文速览】29 Nov 2018
    【词云】wordcloud安装与使用
  • 原文地址:https://www.cnblogs.com/baihuashan/p/12059321.html
Copyright © 2011-2022 走看看