介绍
多年来,借助于集成的图形化用户界面,LabVIEW作为图形化的编程语言一直作为一种简单易用的开发工具,用于数据采集、仪器控制等领域,尤其适用于快速系统建模。然而,LabVIEW在系统开发中表现出的简单快速等特点往往让人忽略了一个事实,即LabVIEW是一个完整的编程语言,适用于工程师及科学家们当前可能遇到的最大型和最复杂的应用。
LabVIEW包含许多类似于C语言的组件,能够使开发人员灵活地将已有的C代码或其它外部代码模块集成到LabVIEW的应用中。此外,LabVIEW提供了更精简的开发过程,通过各种内置的易用测量特性来缩短测量时间。本文罗列了C语言与LabVIEW在功能上的相似之处,以及如何利用这些标准的编程结构及方法。由于本文讨论的是LabVIEW的通用编程性能,因此以下范例并非针对特定的行业。
注释:
- 性能:尽管本文在适当的地方提及了性能,但本文并非旨在比较C语言与 LabVIEW在性能上的优劣。
- 用户界面: 许多C语言开发工具包括了用户界面编辑器,然而考虑到最大化可移植性,本文中提到的ANSI C范例并不包括用户界面。作为参考,本文还提到了包含ANSI C 用户界面的LabWindows/CVI,作为与LabVIEW用户界面的比较。
推荐软件:
- 观看及运行LabVIEW范例: LabVIEW 评估版软件
- 编译与运行C程序范例:AC编译器或 LabWindows/CVI 评估版软件
- 运行LabWindows/CVI 可执行文件: LabWindows/CVI运行引擎或LabWindows/CVI 评估版软件
范例1 – 基本结构及方法
![]() |
LabVIEW包含C语言中所有的基本编程结构和方法,如循环和数组。以下应用文档比较了用C语言和LabVIEW来产生及排序随机数字数组。这些范例说明了C语言及LabVIEW中循环、数组、数据处理等概念。 |
应用注释: LabVIEW是否能像C语言一样?– 范例1:基本结构及方法
范例代码: 在LabVIEW及C语言中生成及排序数字数组
范例2 – 更多的复杂编程概念
![]() |
以下应用文档说明了C 语言和LabVIEW中的数据结构、代码模块化、文件I/O及数据分析的概念。特别指出,范例的功能是完成教师助理的常规工作,譬如输入学生信息、成绩及分析数据等。 |
应用注释: LabVIEW是否能像C语言一样?– 范例2:更多的复杂编程概念
范例代码: 在LabVIEW及C语言中实现教师助理工作
范例3 – LabVIEW中的代码重用
![]() |
以上两个范例展示了LabVIEW及C语言的类似之处,同时说明了LabVIEW是一个完整的的编程环境。不仅如此,LabVIEW所提供的图形化编程模式及内置特性可以帮助工程师们更快、更有效地解决问题。 |
同时,在针对某些特定任务时,LabVIEW将比传统编程语言(诸如C语言)更加合适;而在一些受限制的场合,工程师必须采用特定编程语言作为主要开发环境,但仍希望使用LabVIEW的某些特性。
LabVIEW针对这类情况提供了多种解决方案。LabVIEW能够调用动态链接库(DLLs)中的外部代码或共享库,代码也可面向ActiveX 或.NET接口。此外,LabVIEW代码在其它编程语言中重用的方式包括创建LabVIEW DLL、共享库或使用ActiveX。以下应用注释包括两部分:第一部分是在LabVIEW中调用C语言创建的DLL;第二部分是在C语言中调用LabVIEW创建的DLL。
应用注释: LabVIEW是否能像C语言一样?– 范例3:在LabVIEW中使用正确的工具
范例代码: 在LabVIEW中调用C语言所创建的DLL来生成、排序数字数组
范例代码: 在C语言中调用LabVIEW所创建的DLL实现数据的采集、分析及显示
高级编程技术
LabVIEW用户必须依照与传统语言(如C语言)相同的开发流程,但有时,特殊的工具及习惯能简化开发过程。举例来说,LabVIEW能完成一些C语言很难实现的任务,如面向对象编程及并行编程。针对并行编程,多核处理器出现后,许多软件开发者意识到需要寻求更好的并行代码设计方法。因为图形化编程语言是基于数据流编程的核心准则,LabVIEW为编程者提供了并行编程的简化方法,使软件开发能够从新一代多核处理器的处理性能中直接获益。
了解更多,阅读多核编程基础技术文档系列 。
结论
本文通过几个小例子与C语言的对比讨论了LabVIEW的编程能力,包括数组处理及对DLL的支持。了解更多关于如何利用LabVIEW高级编程技巧,包括在LabVIEW中的面向对象编程及如何实现标准软件工程实践,请访问软件工程资源页面。
通过框图及数据流的独特编程模式,以及即时即用的特点如测量分析库,LabVIEW与传统语言(如C语言)相比,节省了开发时间。亲自评估LabVIEW,请登陆LabVIEW在线。
更多资源
- 中文主页:LabVIEW基本介绍
- 技术文档:LabVIEW的前世今生
- 在线研讨会: LabVIEW 8.6新特性
- 下载/索取;LabVIEW评估版
- 中文主页:中国LabVIEW嘉年华活动
法律条款
本教程由National Instruments公司(简称“NI”)开发。 尽管National Instruments可为该程序提供技术支持,但是该指南的内容并非完全通过测试和验证,NI不以任何方式保证其质量,也不保证相关产品或驱动程序的新版本出现时继续为其提供技术支持。本教程仅以其“现状”向用户提供,教程没有任何担保。教程使用受ni.com网站上《使用条款》的约束。 (http://ni.com/legal/termsofuse/unitedstates/us/)



