当前位置:首页 > 通信技术 > 通信技术
[导读]“为什么LabVIEW优于C语言?” 作为LabVIEW产品经理,我被很多次问到这个问题。老实说,这么提问实际上是错误的。必须要有具体的应用环境,这么提问才有意义(例如,“在这些限制条件下,哪一种语言更适

“为什么LabVIEW优于C语言?” 作为LabVIEW产品经理,我被很多次问到这个问题。

老实说,这么提问实际上是错误的。必须要有具体的应用环境,这么提问才有意义(例如,“在这些限制条件下,哪一种语言更适合这个任务?”) 若没有这些细节,这个问题就像为什么面包比面粉好一般无意义。

如果您想创建一个测控系统,不同于C语言等低级语言,使用NI LabVIEW系统设计软件能够帮助您降低风险、节省开支并免除不必要的麻烦。在这里我并非暗示LabVIEW是比C语言“更好”的编程语言——特别是考虑到LabVIEW大部分内容不仅仅由G语言编写,还由C和C++语言组成。 恰恰相反,这两种语言各自具有不同的优势,程序员应合理择取才能达到自己的目的。

为什么要把LabVIEW比作面包? 

LabVIEW和C语言相比起来就好比面包和面粉的关系。 如果您想做一个三明治,就必须先选用面包。 如果您想做一个蛋糕,先用的自然是面粉。 如果用面粉从头烘烤面包,即昂贵又费时(尤其是当你只想吃些小点心时),但若做的是蛋糕,面粉就必不可少了。 同样的,你会发现,要选择最适合的编程语言并非易事,它归结为使用正确的工具来完成适合的工作。

C语言提供了低级别的控制

当应用资源有限,必须严格管理时,C语言的使用效果更好。 由于C语言是相对低级别的语言,因此,即便是最细微的细节,如内存分配和线程,都必须考虑周全。优秀的程序员能够使用低级别的控制,省去大部分高级别应用带来的间接开销。此外,还能充分利用目标体系构架或主机操作系统属性,实现更高的性能。

正是由于上述原因,NI程序员使用C或C++编写了LabVIEW库中的大部分内容。LabVIEW与C语言在文件I/O和分析等操作的运行速度上旗鼓相当,因为这些操作都是基于低级语言编写的,并对LabVIEW支持的不同平台和操作系统进行了优化。

效率Vs控制

有时,若开发人员的效率足够高的话,就无需手动优化代码了。 减少一点控制,借鉴类似问题的解决方案,可极大地促进项目的高质量开发。 编程语言不断朝更高级抽象方向发展,让您更专注于手头的问题,而不是被计算细节所困扰。

LabVIEW: 并行执行和真实I/O

无论使用何种语言,高级系统设计与低级执行都是独立的。

在测控应用中,编程只是系统设计者的任务之一。 工程师很少有时间为了计算和测量硬件,或是操作系统上的改进,去更新或重写旧版本软件。 他们通过获取、处理和呈现真实数据进行改进——而不是去挖掘新方法处理内存分配和线程池。 使用LabVIEW,您可以使用经测试、支持、维护的NI底层代码库来创建应用。 而选择C语言意味着您需要实现、支持和维护自己的底层库,或从供应商处购买(NI提供NI LabWindows ™/CVI 软件与NI Measurement Studio)

从语法角度来说, C语言指令连续执行的能力非常强,CPU能以最快的速度处理它们。 对于纯粹的数据计算,在执行单一任务且指令相对基本的情况下,C语言非常适用。 而LabVIEW采用的是图形化语法,更适用于有真实时间约束的并行执行任务。

使用LabVIEW,您可以跳过基础构建的步骤,直接进行自定制。

LabVIEW不仅仅是一种编程语言及相关的代码库。 结合使用LabVIEW集成开发环境(IDE)与NI硬件,由此所带来的开发体验是各个部分的总和无法企及的。LabVIEW可以准确识别可用的硬件资源,并以下拉菜单和项目名称显示可用的I/O通道与执行目标。 在编辑过程中,您可以防止或察觉错误的配置,以避免代价高昂、又难以调试的运行时错误。 新一代测量硬件(如NI PXIe-5644R矢量信号收发器)甚至可以允许LabVIEW对其固件进行重新定义,达到传统、不同的编程语言和仪器无法实现的性能水平。

有很多项目都会延期或超预算完成,主要是因为工程师低估了聚集所有资源所需的开销。 若您使用LabVIEW,硬件驱动程序会以与数据分析库相同的格式返回数据,UI小部件则以相同的格式显示技术数据,无需再拼凑不同组件。

到底哪个更好: LabVIEW还是C语言?

这个问题的最佳答案是:“一切皆有可能。” 正如《银河系漫游指南》中所说的, 除非您明确自己的问题或了解正试图解决的问题,否则得到的答案也是无意义的。 对于熟练的用户来说,LabVIEW和C都是非常有用的工具,几乎可以解决任何问题: LabVIEW适用于高级测试、测量和控制应用,而C更容易实现低级计算密集型任务。

若再有人问起LabVIEW好还是C语言好,您就回答一切皆有可能。 这也许是将问题朝着正确的方向引导的唯一途径了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

启智扬帆谱新章,携手共进续辉煌  北京2024年5月6日 /美通社/ -- 春风轻拂,万物复苏,4月25日,北京邮电大学-法国里昂商学院EMBA (中外合作办学) 项目2024级春季班开学典礼在北京邮电大学经...

关键字: 北京邮电大学 人工智能 数字化 NI

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

与 BigCode 社区共同创建的 StarCoder2 是在 600 多种编程语言上训练而成,它将推进代码生成、透明度、治理和创新

关键字: 生成式 AI 编程语言 大语言模型

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

Java是一种广泛应用于软件开发的编程语言,它具有跨平台、面向对象和高度可靠性的特点。在嵌入式系统设计中,Java也有着广泛的应用方案。本文将详细介绍Java在嵌入式系统设计中的应用方案,并分析其优势和挑战。

关键字: Java 软件开发 编程语言

嵌入式开发和Java开发是两个不同的领域,它们在目标、应用场景、编程语言和开发环境等方面存在一些区别。下面我将为您简要介绍这两个领域的特点以及如何选择适合您的开发方向。

关键字: 嵌入式开发 Java开发 编程语言

Java语言和C语言是两种不同的编程语言,它们在语法、特性和应用领域上有许多差别。下面将详细介绍Java语言和C语言之间的差异以及它们各自的技术特点。

关键字: Java语言 C语言 编程
关闭
关闭