LabWindows CVI 2015已经推出,这是一个久经考验的ANSI C集成式开发环境和工程开发工具箱,内置有用于测量、分析和工程UI设计的丰富资源库,可帮助您大幅缩短开发时间,实现可靠、高性能的应用。LabWindows CVI 2015新开发的LabWindows/CVI优化编译器,包含了Clang 3.3,Clang是LLVM编译器基础架构的C语言编译器前端,首次引入LLVM,这是一种业界标准的编译器基础架构,为编程人员提供了经优化且开箱即用的代码,可通过增加错误和警告消息来高亮显示薄弱环节,帮助开发人员确保代码的可靠性。
LabWindows CVI 2015专为高稳定性而开发,包含了超过50个漏洞修复和改进,提供了一个强大的开发平台构建测试和测量关键应用,程序员可以利用如OpenMP和网络流引入等新功能来完成工作,提高应用程序性能,而无需重写显著其代码的新功能。通过提供最新的编译器和并行编程技术,LabWindows CVI 2015可让开发人员专注于程序逻辑和I/O。
软件特色
1、改进的代码性能
2、借助新的业界标准的优化编译器,提高60%的代码生成速率
3、使用可移植且可扩展的OpenMP API,轻松复用现有代码
4、通过无损网络流API,实现网络应用程序之间的高效数据传输
5、使用新的高级TDMS功能来实现高性能数据流盘
6、更高生产力
7、编辑代码的同时编译源文件
8、在多核系统中并行创建多个文件,提高整体构建速度
9、正在调试的进程中可以连接或分离调试器
10、通过函数下拉列表和改进的浏览功能,轻松导航源文件
11、通过批量格式设置和自动缩进,创建更简洁美观的代码
新功能
一、提高代码性能
1、执行优化编译器
在LabWindows/CVI 2015中,编译器使用了具有Clang C前端的LLVM编译器基础架构。 这个编译器可生成经优化的代码,这意味着您不再需要使用外部优化编译器来优化代码。
Clang被选作为LabWindows/CVI编译器的基础是因为它可以提供非常快速的编译、极其有用的错误和警告消息以及比早期LabWindows/CVI编译器高60%的执行速度。 执行复杂计算、数学或分析的开发人员将可看到最高的性能提升,因为编译器后端特别适合用于优化数学计算所需的资源。
LLVM和Clang最开始是伊利诺伊大学的一个研究项目,目的是提供一个基于SSA的现代化编译策略,能够同时支持任意编程语言的静态和动态编译。 从那时起,LLVM逐渐发展,衍生了大量子项目,其中有许多被苹果、英特尔、AutoESL、NVIDIA及NI等各种商业软件供应商应用于生产之中。
开发人员还可以根据自定义的警告级别类型列表显示或隐藏警告级别,从而更轻松地找到感兴趣的警告、专注于错误和更高效地进行调试。 如果要访问“编译器警告”对话框,则右击“构建输出”窗口,然后选择配置警告。
2、基于OpenMP的灵活多线程执行
可移植且可扩展的OpenMP API可帮助开发人员无需大量编辑即可轻松并行执行现有代码。 OpenMP(开放式多处理)是一套编译器指令及相关子句、应用程序编程接口(API)和环境变量的集合,可帮助您轻松地创建多个线程上执行的应用程序。 OpenMP模型可允许您完成以下任务:
定义代码的并行区域和创建执行并行区域的线程组。
规定同一组中不同线程之间的任务共享方式(循环迭代)。
规定线程间可共享的数据以及每个线程专用的数据。
同步线程、防止并发访问共享数据,并定义由单个线程专门执行区域。
OpenMP的特殊用途
OpenMP适用于由密集循环组成的程序,其中循环迭代之间是彼此独立的,这样迭代的子集可以在多个处理内核上并行运行。 同时它也适用于多个区域之间可以相互独立地运行但必须在某个时刻同步的程序。 因此OpenMP也是实现fork/join并行设计模式的一种有效方法。
虽然我们可以使用LabWindows/CVI工具库来创建多线程应用程序,但是OpenMP模型也提供了许多好处。 如下图所示,通过插入单行编译指示,我们有可能以最小的改动逐步实现OpenMP模型。 这也使开发人员能够保留原始源代码中的序列顺序,而且在添加OpenMP指令之后只需少量的重新测试,这是因为程序、数据结构和算法都没有发生变化。 我们也可以通过禁用“构建选项”对话框中的OpenMP支持来轻松编译和测试程序的序列版本。
OpenMP的结构化方法有助于最大限度地减少多线程编程常见的可能编程错误,因为它不要求使用底层多线程结构和对象。 所有底层实现均是由OpenMP进行处理,这样开发人员便能够专注于应用程序逻辑和I/O。
此外,这也简化了将代码移植到其它编译器和操作系统,因为不支持OpenMP结构的编译器将会忽略OpenMP编译指令。 我们甚至可以在不修改源代码的情况下使用用于调整循环调度的环境变量来调整运行时的性能。 注意: LabWindows/CVI 2015符合OpenMP 2.5规范。
3、无损的网络数据流
网络流API为分布式LabWindows/CVI或LabVIEW应用提供了无损的单向点对点通信通道。 利用网络流,您可以轻松地在网络上或在同一台计算机上共享数据。
网络流是一种易于配置、紧密集成的动态通信方法,适用于应用程序之间的数据传输,具有可与TCP相媲美的吞吐量和延迟特性。 网络流也增强了连接管理,如果由于网络故障或其他系统故障导致连接中断,网络流可自动恢复网络连接。 网络流利用缓存无损通信策略来确保写入网络流的数据即使在网络连接不顺畅的环境下也不会丢失。
网络流的具体应用
网络流经设计和优化可实现无损、高吞吐量的数据通信。 网络流采用单向点至点的缓存通信模型来实现应用程序之间的数据传送。 这意味着其中一个终端是数据的创建者,另一个终端是读者。 您可以使用两个网络流来实现双向通信,其中每一台计算机的创建者和读者与对应计算机的创建者和读者相匹配。
由于网络流具有与原始TCP相匹配的吞吐量性能,因此对于高吞吐量应用,如果编程人员希望避免TCP的高复杂性,那么网络流就是理想的选择。 网络流也可以用于无损的低吞吐量通信,例如发送和接收命令。 但是,将网络流应用于低吞吐量通信时,如果需要获得最低的延迟,可能需要更明确地管理数据通过网络流发送的时间。
4、高性能数据流盘
NI技术数据管理流(TDMS)文件格式是将测量数据保存到磁盘上的最快速、最灵活方式。 开发人员长期以来一直使用LabWindows/CVI TDMS API,在数据流盘时将定时信息和自定义属性关联到测量数据上。 将数据存储为TDMS文件省去了设计和维护自定义数据文件格式的需要,同时获得了记录详细、易于查询且可移植到任意平台的数据集。
二、提高效率
1、强大的构建系统
LabWindows/CVI构建功能可减少花在等待构建完成的时间,使开发人员能够继续进行代码编辑,同时在后台构建项目。 构建系统专门针对提高构建速度和需要并行构建多个独立源文件的项目进行优化,以便用户充分利用多核处理器的优势。
2、强大的源代码浏览
LabWindows/CVI中提供了丰富的编程体验,为用户提供了直观控件、导航和源文件信息。 程序员可以使用源代码窗口中工具栏的下拉列表来查看和定位到源文件的函数。
此外,开发人员可以在编辑文件的同时生成源代码浏览信息,这样开发人员可以在编程的同时实时浏览代码,而不需要先编译。 该选项是LabWindows/CVI环境的一个全局功能,源代码浏览信息包含于发布和调试配置中。
3、批量格式和自动代码缩进
为了帮助开发人员创建更简洁、易读的代码,LabWindows/CVI提供了定制批量格式和自动缩进工具。 选择选项编辑器首选项,然后单击格式选项按钮来指定括号风格和缩进选项。 为了保持一致性,开发人员可以选择普通缩进和括号风格,并使用预览窗口来预览自定义选择的格式样例。 如果指定自动缩进的代码行,可选择源窗口中的文本行,然后选择编辑格式选择。 如果是自动缩进整个文件,则选择编辑格式文件。
4、发布的软件依赖关系支持
在创建发布时,开发人员可以选中或忽略任何包含软件依赖关系的NI安装程序组件的软件依赖关系。产品的软件依赖关系是指产品可能需要或不需要的组件,根据应用程序的特定需求而异。通过“编辑安装程序”对话框的驱动和组件选项卡可选择软件依赖关系。
软件优势
1、交互式程序开发
将源代码编程、32位ANSI C编译、链接、调试以及标准ANSI C库等集成在一个交互式开发平台中,采用简单直观图形用户界面设计,利用函数面板输入函数的参数,采用事件驱动和回调函数方式的编程技术,有效地提高了工程设计的效率和可靠性。
2、功能强大的函数库
如接口函数库、信号处理函数库、Windows SDK等,利用这些库函数可以方便地实现复杂的数据采集和仪器控制系统的开发。同时LabWindows/CVI附加了各种功能的软件开发包,如数据库软件包、Internet软件包、小波分析软件包等,大大增强了LabWindows/CVI的性能。
3、灵活的程序调试手段
提供了单步执行、断点执行、过程跟踪、参数检查、运行时内存检查等多种调试程序。
4、高效编程环境
以其面向虚拟仪器的交互式开发环境满足了用户对软件不断变化的要求,在产品设计中,可以快速创建、配置并显示测量。LabWindows/CVI可以自动生成代码、编译和链接,省去了手工编写,更有利于系统的开发。
5、开放式的框架结构
可以结婚使用标准的ANSI C源文件、obj文件、生动链接库(DLL)。也可以将软件中的仪器驱动库与其他标准C编译器结合使用,无需更改开发工具。同时,可以在不同的工作小组直接共享函数模块和虚拟仪器程序。
6、集成式的开发环境
集成式的开发环境,可用于创建基于DAQ、GPIB、PXI、VXI、串口和以太网的虚拟仪器系统。这一开发方式结合了交互式、简单易用的开发方式与ANSI C代码的强大的编写功能和灵活性。LabWindows/CVI中的交互式开发工具和函数库可以方便地四下自动化测试系统]实验室研发、数据采集监视项目、验证测试和控制系统的设计。
7、LabWindows/CVI的应用范围
只要应用于各种测试、控制、故障分析及信息处理软件的开发中,与NI公司开发的另一个虚拟仪器开发工具LabVIEW相比,其更适合中、大型复杂测试软件的开发。基于LabWindows/CVI设计的虚拟仪器在无损检测、电力仪表系统、温控系统、凌晨控制系统、故障诊断和医疗等领域中发挥着重要作用。LabWindows/CVI已经成为测控领域最受欢迎的开发平台之一,并且已得到广泛的应用。
发表评论
0条评论软件排行榜
热门推荐
- dotCover 2024官方版 v2024.2.549.78M / 多国语言
- python最新版本2024 v3.12.3官方版25.2M / 简体中文
- 微软visual c++运行库合集包 v3.0.22.0317官方版85.82M / 简体中文
- dwin dgus(开发配置工具) v5.04官方版6.87M / 简体中文
- RegEx Tester(正则表达式调试工具) v3.2.0.0绿色版26K / 英文
- Report Builder v3.0官方版32.16M / 简体中文
- Convert.NET(代码翻译器) v8.4.6675.71官方版4.48M / 多国语言[中文]
- msys2(类Linux开发环境) v2016.10.25官方版100.11M / 简体中文
- node.js安装包 v18.12.127.76M / 简体中文
- APKSign(APK签名工具) v1.0官方版292K / 简体中文