Labview中引用,属性节点,局部变量之间的区别
       在Labview中我们经常会碰到这样几个概念,那就是控件的引用,属性节点以及局部变量,他们之间到底有哪些区别呢?
       首先谈引用,在Labview中长称为引用句柄,在Windows编程中,引用句柄指的是指向指针的指针,换句话说,引用句柄保存的是其他一些数据类型的地址,例如窗口句柄。在Labview中,控件的引用句柄指的也是指向特定数据类型的指针,在Labview中,控件的引用句柄是长度为四个字节,引用句柄不但能够表示控件的类型,还与空间一一对应,这是通过句柄的编号来实现的,引用句柄自身未代表任何空间,但是通过引用句柄指向特定的实例后,就可以操作具体的控件了,简单的理解就是通过对引用句柄的操作,可以改变控件的属性参数。
       接下来说属性节点,属性节点在Labview中是一个很重要的概念,属性节点用于访问控件的属性,例如需要改变控件在前面板的大小,运行时候的状态等都需要通过属性节点来进行操作,与引用结合起来讲就是属性节点可以设置引用的属性。Labview的属性节点功能强大,不同的控件有不同的引用,这些不同的引用都可以通过各自的属性节点来进行设置,但需要注意的是,属性节点的执行效率比较低,甚至比全局变量的效率还要低,所以NI一般建议少用属性节点。
       最后说局部变量,局部变量相当于C语言中的局部变量一样,通过局部变量可以在一个VI中访问或者存储数据,通常这些数据都是存储在不同的显示或者输入控件当中,所以说局部变量不是单独存在的,每一个局部变量都是与特定的控件相对应的,一个控件可以生成许多局部变量,就相当于在一个函数中定义了一个变量,在函数的任何地方都可以使用这个变量一样,每一个局部变量都要复制对应控件中的数据,因此这将消耗更多的内存,因此在labview中一些大的数组中不建议使用局部变量。

Labview中引用,属性节点,局部变量之间的区别的更多相关文章

  1. Labview中的属性节点

    获取(读取)和/或设置(写入)引用的属性.通过属性节点对本地或远程应用程序实例.VI或对象获取或设置属性和方法也可通过属性节点访问LabVIEW类的私有数据. 属性节点可自动调整为用户所引用的对象的类 ...

  2. Labview中创建属性节点和调用节点的用法

    创建属性节点 个人感觉有点像C中的指针 创建调用节点

  3. C++中引用传递与指针传递的区别

    最近Garena面试的过程中,面试官提了一个问题,C++中引用传递和指针传递的区别? 根据自己的经验,联想到了swap函数,只知道既可以用引用来实现,又可以用指针传递来实现,至于二者有何区别,自己还真 ...

  4. Spring中Model,ModelMap以及ModelAndView之间的区别

    原文链接:http://blog.csdn.net/zhangxing52077/article/details/75193948 Spring中Model,ModelMap以及ModelAndVie ...

  5. struts2中拦截器与过滤器之间的区别

    首先是一张经典的struts2原理图 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) ...

  6. java中关于&、&&、|、||之间的区别和运算

    关于&.&&.|.||之间的区别和运算 在逻辑运算中: 普通与&:要判断所有的判断的条件 短路与&&:如果前面一个判断条件出现false,则后续的判断条 ...

  7. GPU CUDA编程中threadIdx, blockIdx, blockDim, gridDim之间的区别与联系

    前期写代码的时候都会困惑这个实际的threadIdx(tid,实际的线程id)到底是多少,自己写出来的对不对,今天经过自己一些小例子的推敲,以及找到官网的相关介绍,总算自己弄清楚了. 在启动kerne ...

  8. Servlet中的GET和POST之间的区别

    自己的感悟: get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的 ...

  9. C#属性、自动属性、字段之间的区别和理解

    .ctor是构造方法的意思,注意委托其实也是有构造方法的(不过是编译器自动创建的是私有的)貌似它的参数一个是委托引用的方法所属的对象(或Type对象),一个是该方法的指针: 1.属性的概念其实和字段是 ...

随机推荐

  1. android 的线程模型和AsyncTask

            android 的线程模型:当一个 android 的应用运行后,就会有一个 UI 的 main 线程启动 , 这是一个非常重要的线程,它负责把事件分派到相应的控件,其中就包括屏幕绘图 ...

  2. android手动改动density(dpi)的方法

    Android系统中会依据屏幕分辨率范围,制定默认的density,既320(xhdpi),那么我们也能够手动改动density. 改动的方式在system.prop中改动ro.sf.lcd_dens ...

  3. 在PreparedStatement中设置空值

    在PreparedStatement中设置空值 分类: Work&amp Study java2009-09-10 09:56 922人阅读 评论(0) 收藏 举报 nulltypes数据库 ...

  4. Java Class类以及获取Class实例的三种方式

    T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>.   publi ...

  5. Cookies与保持登录(新浪微博的简单模拟登录)

    Cookies与保持登录(新浪微博的简单登录) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino ...

  6. 关于wireshark的两个抓包过滤显示的基本语法

    关于wireshark的两个基本语法 关于wireshark的两个基本语法 1. Capture Filters 语法:<Protocol name><Direction>&l ...

  7. 使用JQuery.lettering.js实现多行文本样式自定义

    前几天一位在广告公司的朋友发来求助,说:“有一个项目要求实现对字符串进行动态拆分,然后对拆分出的字符分别使用不同的样式效果...”,听到这个需求,我内心有点不屑,这有何能,最多五分钟搞定啊~~ 于是我 ...

  8. 转:Server.MapPath相关

    如果你从Page类继承的类中执行这条语句,才可以简单地使用 DataBase = Server.MapPath("data.mdb");否则写全命名空间:System.Web.Ht ...

  9. Linux 分区初始化为物理卷,把物理卷加入卷组

    用到的命令有 1.pvcreate (physical volume create) 2.vgcreate (volume group create) 例子1:创建物理卷 pvcreate /dev/ ...

  10. IBM X System ServerGuide 8.41 服务器 系统安装 引导盘

    IBM X System ServerGuide 8.41 支持操作系统: 32位: Microsoft Windows 2003/2003 R2 (Enterprise, Standard, Web ...