LabWindows CVI 2015是由NI公司推出的一款专业C语言开发增强工具,软件集合了强大的开发环境和功能,可以大大地提高开发效率。拥有交互式编程方法、函数面板和丰富的库函数,让你编程更加地轻松,简单,有需要的不要错过。
labwindows简介
NI公司的LabWindows/CVI是一个久经验证的用于测试和测量的ANSI C开发环境,极大地提高了工程师和科学家们的生产效率。他们使用LabWindows/CVI来开发高性能的、可靠的应用程序,用于制造测试、军事/航 天、通讯、设计验证和汽车工业等领域。开发人员可以在设计阶段利用LabWindows/CVI的硬件配置助手、综合调试工具以及交互式执行功能,来运行 各项功能,使得这些领域的开发流水线化。使用内置的测量库,你可以迅速的开发出复杂的应用程序,例如多线程编程和ActiveX的服务器/客户端程序。由 于LabWindows/CVI的便利性,你可以通过在相似环境中重复使用以前的代码来维护你的代码投资,并且实现Windows、 Linux®或实时平台上分布测试系统的无缝集成。
LabWindows CVI 2015特色
·改进的代码性能
·借助新的业界标准的优化编译器,提高60%的代码生成速率
·使用可移植且可扩展的OpenMP API,轻松复用现有代码
·通过无损网络流API,实现网络应用程序之间的高效数据传输
·使用新的高级TDMS功能来实现高性能数据流盘
·更高生产力
·编辑代码的同时编译源文件
·在多核系统中并行创建多个文件,提高整体构建速度
·正在调试的进程中可以连接或分离调试器
·通过函数下拉列表和改进的浏览功能,轻松导航源文件
·通过批量格式设置和自动缩进,创建更简洁美观的代码
labwindows 2015安装教程:
1、运行“NILWCVI2015.exe”,点击Unzip解压安装文件
2、选择第一项“Install NI LabWindows/CVI 2015”
3、输入任意Name和Orgenization,勾选第二项跳过注册码
4、选择软件安装目录
5、取消勾选,点击NEXT
6、允许用户协议
7、点击NEXT开始安装
8、等待安装完成,中途若弹出必备项目,全部将其安装上
9、安装完成
软件功能
一、提高代码性能
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安装程序组件的软件依赖关系。 产品的软件依赖关系是指产品可能需要或不需要的组件,根据应用程序的特定需求而异。通过“编辑安装程序”对话框的驱动和组件选项卡可选择软件依赖关系。