点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程作者: Simon Hogg, NI 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语言好,您就回答一切皆有可能。 这也许是将问题朝着正确的方向引导的唯一途径了。

进一步了解LabVIEW与NI集成开发环境,请访问ni.com/labview/zhs

更多精彩内容,请继续浏览电子发烧友网《通信测试特刊》8月刊

labview和c语言,到底哪个更好:LabVIEW还是C语言?相关推荐

  1. c语言运行时更入下一行,C语言高级语言程序设计(一)_第二章 C程序设计基础(二).ppt...

    C语言高级语言程序设计(一)_第二章 C程序设计基础(二) * 问a,b能否交换?不能.示例 传值调用 如何改变参数的值?在后续章节中介绍 下:传值 * 传值的好处 下:问题3.2 * * * 使用范 ...

  2. 阿里性能专家全方位对比Jmeter和Locust,到底谁更香?

    本文章出自[码同学软件测试] 码同学公众号:自动化软件测试 码同学抖音号:小码哥聊软件测试 近些年,随着互联网行业的不断发展,用户规模也有了爆发性的增长.产品的性能成为影响用户体验的重要因素.因此,性 ...

  3. 到底人工智能前景好不 首选哪个开发语言好

    到底人工智能前景好不?首选哪个开发语言好?人工智能是计算机技术科学的一个分支,其实质目的在创造出与人类智能相似的方式做出相应反应的智能机器,包括机器人.语言识别.图像识别.自然语言处理和专家系统等.迄 ...

  4. 64位和32位有什么区别?到底哪个更快?——硬核科普

    原文链接:联想商用服务----64位和32位有什么区别?到底哪个更快?--硬核科普 32位和64位到底指什么? 下载 Windows 操作系统,会区分 X 64 和 X 86 版本(一般 X 86 是 ...

  5. 怎么理解c语言,到底怎么样C语言才算入门?大一新生的痛:这些你理解了多少...

    临近过年,很多同学也是刚刚结束了上半个学期的考核,很多初学C语言的小伙伴都在思考这半年下来学的怎么样了?因为在学习之初并没有一个大概的概念,学习这门语言需要掌握多少知识点,现在还是比较的迷茫. C语言 ...

  6. go语言 C语言系的更容易,语法接近。

    从语言转行来说,C语言系的更容易,语法接近. Go 作为一门新兴的后端语言,主要偏向于后台服务.中间件等,近期也有一些AI.区块链也在推动者Go的发展和普及.新兴的语言意味着开始的时候,岗位少,不是那 ...

  7. 计算机三年工作经验和研究生,三年工作经验和读三年研究生到底哪个更值?这个回答很权威...

    三年工作经验和读三年研究生到底哪个更值?这个回答很权威. 又到了毕业季,很多大学生朋友总会问我一件事情,那就是读研和工作,到底哪个会让自己更有竞争力一些呢? 其实这个问题得分人,分专业来看. 如果是三 ...

  8. Java、Python、JS、C语言,哪个更值得学?

    一提到编程,大家就会想到一堆莫名其妙的缩写,比如C.C++.JAVA.VB.VC.FoxPro.Delphi.SQL.PHP.ASP.JSP等等,那么编程语言究竟多少种呢? 其实,编程语言从总体上说主 ...

  9. 8266 at 驱动_AT、CVT、DCT 变速器,到底哪个更靠谱

    原标题:AT.CVT.DCT 变速器,到底哪个更靠谱 买车除了考虑外观.空间.动力以及性价比以外,汽车的三大件也不可忽视.但汽车的三大件对于一般消费者而言有些过于复杂,不像外观内饰空间那样直接一目了然 ...

最新文章

  1. iMeta期刊投审稿系统ScholarOne正式上线
  2. 从jar包中读取资源文件
  3. RocketMQ生产者流程篇
  4. 多线程编程(3) - 多线程同步之 CriticalSection(临界区)
  5. 10上wsl位置迁移_wsl的安装/升级笔记
  6. [导入]Asp.net中动态在中加入Scrpit标签
  7. 30天提升技术人的写作力-第十七天
  8. php 请求远程链接
  9. django调用python脚本返回_讲解django rest framework 自定义返回方法
  10. [转载] python中callable_Python callable() 函数
  11. 开源项目管理软件产品对比分析资料整理
  12. android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
  13. Windows Server 2016 AD父子域环境搭建手册
  14. Tomcat 修改端口
  15. QLCDNumber设置背景色和显示数字颜色
  16. 语言识别之根据字典矫正文本及其c++代码实现
  17. EM算法·最大期望算法
  18. 超详细电烙铁如何使用?
  19. 国内首个基于Windows操作系统的GPU高性能计算集群研制成功
  20. python代码 学生上课签到表_一种上课签到系统的制作方法

热门文章

  1. android多国语言翻译包命名,android多国语言翻译工具,一键生成28国家翻译6666翻车了...
  2. 基于JavaWeb的电影院在线选座订票管理系统
  3. discuz教程:修改帖子详情页“来自: XX手机客户端”的链接地址
  4. 商业智能、数据挖掘精品电子书下载汇总【60本】
  5. SerDes,GTP , GTX , GTH理解
  6. Filter 什么是滤镜?
  7. 智能视频监控的发展和优势
  8. 成教计算机科学与技术怎么样,华中农业大学成考计算机科学与技术专业就业前景怎么样?...
  9. 初涉iOS逆向工程:免越狱修改微信(外观篇)
  10. css阴影设置透明度,css3圆角 阴影 透明度