LabVIEW中局部变量、全局变量和引用及属性节点的相关
2015-05-05 22:14
459 查看
局部变量和全局变量
首先,使用局部变量和全局变量不符合数据流的思维方式,在不同的地方使用局部变量和全局变量,对于大的成语而言,不易判断数据的流向和操作的先后顺序,隐藏着“竞争”的危险。基于性能考虑,局部变量会复制数据缓冲区。从一个局部变量读取数据时,便为相关控件的数据创建了一个新的缓冲区。如此类推,将会大大增加内存开销。如使用局部变量将大量数据从程序框图上的某个地方传递到另一个地方,通常会使用更多的内存,最终导致执行速度比使用连线来传递数据更慢。而全局变量,从一个全局变量读取数据时,LabVIEW将创建一份该全局变量的数据副本,保存于该全局变量中。
操作大型数组和字符串时,将占用相当多的时间和内存来操作全局变量。操作数组时使用全局变量尤为低效,原因在于即使只修改数组中的某个元素,LabVIEW仍对整个数组进行保存和修改。如一个应用程序中的不同位置同时读取某个全局变量,则将为该变量创建多个内存缓冲区,从而导致执行效率和性能降低。
两者的优点是可以方便的在同一个VI和不同的VI中传递数据。正因如此,可能会为了方便一直使用全局变量,使程序运行缓慢,内存消耗增大。
属性节点
属性节点,私以为,更关注与控件在前面板的特性,控件的大小、颜色、值及其他控件本身的信息。属性节点的性能强大,可以在程序中实现界面功能的操作,比如改变大小、位置、颜色、缩放、增加游标等诸多功能,其“属性节点的值”是其中一个小项。在程序中通过属性节点获取值,会从前面板的控件中索取值,其执行效率甚至低于局部变量,这中用法不建议使用。引用
私以为,引用类似于给定了控件的地址,后续的操作全都是在做同一个地方进行,属性节点+局部变量,不同的循环和VI使用同一个引用(输入),即可改变值,完成值的传递。起运行性能较高。相关文章推荐
- ios 项目中的全局、局部、成员、属性变量
- Labview中引用,属性节点,局部变量之间的区别
- 如何引用与局部变量同名的全局变量
- Labview中引用,属性节点,局部变量之间的区别
- python的全局变量(属性的用法),私有属性,计算对象引用数
- 转:Labview中引用,属性节点,局…
- Labview中引用,属性节点,局部变量之间的区别
- python的全局变量(属性的用法),私有属性,计算对象引用数
- labVIEW的变量和属性节点
- 作用域、全局局部变量、链接属性、存储属性、生存期、内部外部函数
- vs2008如何新建自己工程的环境变量(局部)和 Windows系统(全局).
- 小朋友学C语言(30):局部变量和全局变量
- C/C++全局变量的定义与引用问题
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- 局部变量、 全局变量、 堆、 堆栈、 静态和全局
- C/C++——全局变量、局部变量、静态全局变量和静态局部变量
- python的全局局部变量
- NDK开发之引用(局部引用,全局引用,虚全局引用)
- 局部变量和全局变量
- 全局变量和局部静态变量