怎样学好LabWindows/CVI,它自身带的实例适合学习吗

当前位置:
文件名称:LabWindows
所属分类:
资源属性:
Linux,gcc,C/C++,源码
上传时间:
文件大小:
浏览/下载:
291次 / 1次
提 供 者:
相关连接:
下载说明:
别用迅雷下载,失败请重下,重下不扣分!
这是NI的LabWindows/CVI虚拟仪器的开发实例,是学习LabWindows/CVI的好帮手-This is the NI LabWindows/CVI development instance of the virtual instrument, is learning LabWindows/CVI is a good helper相关搜索:
(系统自动生成,下载前可以参看下载内容)下载文件列表
压缩包 : LabWindows.zip 列表
LabWindows/
LabWindows/10_1/
LabWindows/10_1/sample10_1.c
LabWindows/10_1/sample10_1.exe
LabWindows/10_1/sample10_1.h
LabWindows/10_1/sample10_1.prj
LabWindows/10_1/sample10_1.uir
LabWindows/11_1/
LabWindows/11_1/cvi_db.fp
LabWindows/11_1/cvi_db.h
LabWindows/11_1/cvi_db.lib
LabWindows/11_1/database/
LabWindows/11_1/database/flowchrt.dbf
LabWindows/11_1/database/samples.mdb
LabWindows/11_1/database/student.mdb
LabWindows/11_1/database/testres.dbf
LabWindows/11_1/database/WEATHER.DBF
LabWindows/11_1/sample11_1.c
LabWindows/11_1/sample11_1.exe
LabWindows/11_1/sample11_1.h
LabWindows/11_1/sample11_1.prj
LabWindows/11_1/sample11_1.uir
LabWindows/12_1/
LabWindows/12_1/RS.c
LabWindows/12_1/RS.c.bak
LabWindows/12_1/RS.fp
LabWindows/12_1/RS.fp.bak
LabWindows/12_1/RS.h
LabWindows/12_1/RS.h.bak
LabWindows/12_1/RS.sub
LabWindows/12_1/RS.sub.bak
LabWindows/12_1/sample12_1.c
LabWindows/12_1/sample12_1.prj
LabWindows/12_2/
LabWindows/12_2/cvibuild.sample12_2/
LabWindows/12_2/cvibuild.sample12_2/build.ini
LabWindows/12_2/cvibuild.sample12_2/sample12_2.nidobj
LabWindows/12_2/sample12_2.c
LabWindows/12_2/sample12_2.cws
LabWindows/12_2/sample12_2.exe
LabWindows/12_2/sample12_2.h
LabWindows/12_2/sample12_2.prj
LabWindows/12_2/sample12_2.uir
LabWindows/12_3/
LabWindows/12_3/cvibuild.scope/
LabWindows/12_3/cvibuild.scope/build.ini
LabWindows/12_3/cvibuild.scope/scope.nidobj
LabWindows/12_3/fl45.c
LabWindows/12_3/fl45.fp
LabWindows/12_3/fl45.h
LabWindows/12_3/fl45.sub
LabWindows/12_3/hp33120a.c
LabWindows/12_3/hp33120a.fp
LabWindows/12_3/hp33120a.h
LabWindows/12_3/hp33120a.sub
LabWindows/12_3/hp662xa.c
LabWindows/12_3/hp662xa.fp
LabWindows/12_3/hp662xa.h
LabWindows/12_3/hp662xa.sub
LabWindows/12_3/hpe1463a.c
LabWindows/12_3/hpe1463a.fp
LabWindows/12_3/hpe1463a.h
LabWindows/12_3/hpe1463a.sub
LabWindows/12_3/scope.c
LabWindows/12_3/scope.cws
LabWindows/12_3/scope.fp
LabWindows/12_3/scope.h
LabWindows/12_3/scope.prj
LabWindows/12_3/tktds754.c
LabWindows/12_3/tktds754.fp
LabWindows/12_3/tktds754.h
LabWindows/12_3/tktds754.sub
LabWindows/2_1/
LabWindows/2_1/cvibuild.sample2_1/
LabWindows/2_1/cvibuild.sample2_1/build.ini
LabWindows/2_1/cvibuild.sample2_1/sample2_1.niobj
LabWindows/2_1/fl45.c
LabWindows/2_1/fl45.fp
LabWindows/2_1/fl45.h
LabWindows/2_1/fl45.obj
LabWindows/2_1/fl45.sub
LabWindows/2_1/readme.txt
LabWindows/2_1/sample2_1.c
LabWindows/2_1/sample2_1.cws
LabWindows/2_1/sample2_1.exe
LabWindows/2_1/sample2_1.h
LabWindows/2_1/sample2_1.prj
LabWindows/2_1/sample2_1.uir
LabWindows/2_1/toolbox.c
LabWindows/2_1/toolbox.fp
LabWindows/2_1/toolbox.h
LabWindows/2_1/toolbox.obj
LabWindows/2_2/
LabWindows/2_2/sam2_2.c
LabWindows/2_2/sample2_2.c
LabWindows/2_2/sample2_2.cws
LabWindows/2_2/sample2_2.exe
LabWindows/2_2/sample2_2.h
LabWindows/2_2/sample2_2.prj
LabWindows/2_2/sample2_2.uir
LabWindows/3_1/
LabWindows/3_1/cvibuild.sample3_1/
LabWindows/3_1/cvibuild.sample3_1/build.ini
LabWindows/3_1/cvibuild.sample3_1/sample3_1.niobj
LabWindows/3_1/sample3_1.c
LabWindows/3_1/sample3_1.cws
LabWindows/3_1/sample3_1.exe
LabWindows/3_1/sample3_1.h
LabWindows/3_1/sample3_1.prj
LabWindows/3_1/sample3_1.uir
LabWindows/4_1/
LabWindows/4_10/
LabWindows/4_10/B001.BMP
LabWindows/4_10/B002.BMP
LabWindows/4_10/B003.BMP
LabWindows/4_10/B004.BMP
LabWindows/4_10/B005.BMP
LabWindows/4_10/B006.BMP
LabWindows/4_10/B007.BMP
LabWindows/4_10/B008.BMP
LabWindows/4_10/B009.BMP
LabWindows/4_10/sample4_.001
LabWindows/4_10/sample4_10.c
LabWindows/4_10/sample4_10.exe
LabWindows/4_10/sample4_10.h
LabWindows/4_10/sample4_10.prj
LabWindows/4_1/4_1.exe
LabWindows/4_1/4_1.prj
LabWindows/4_1/cvibuild.sample4_1/
LabWindows/4_1/cvibuild.sample4_1/build.ini
LabWindows/4_1/cvibuild.sample4_1/sample4_1.niobj
LabWindows/4_1/sample4_1.c
LabWindows/4_1/sample4_1.cws
LabWindows/4_1/sample4_1.exe
LabWindows/4_1/sample4_1.h
LabWindows/4_1/sample4_1.prj
LabWindows/4_1/sample4_1.uir
LabWindows/4_1/退出.pcx
LabWindows/5_1/
LabWindows/5_1/1.txt
LabWindows/5_1/2.txt
LabWindows/5_1/cvibuild.receive/
LabWindows/5_1/cvibuild.receive/build.ini
LabWindows/5_1/cvibuild.receive/dependencies.bri
LabWindows/5_1/cvibuild.receive/receive.nidobj
LabWindows/5_1/cvibuild.receive/resources.res
LabWindows/5_1/receive.c
LabWindows/5_1/receive.cdb
LabWindows/5_1/receive.cws
LabWindows/5_1/receive.exe
LabWindows/5_1/receive.h
LabWindows/5_1/receive.prj
LabWindows/5_1/receive.uir
LabWindows/5_1/receive_dbg.cdb
LabWindows/5_1/receive_dbg.exe
LabWindows/5_1/send.c
LabWindows/5_1/send.exe
LabWindows/5_1/send.h
LabWindows/5_1/send.prj
LabWindows/5_1/send.uir
LabWindows/5_2/
LabWindows/5_2/1.txt
LabWindows/5_2/2.txt
LabWindows/5_2/cvibuild.receive/
LabWindows/5_2/cvibuild.receive/build.ini
LabWindows/5_2/cvibuild.receive/dependencies.bri
LabWindows/5_2/cvibuild.receive/receive.nidobj
LabWindows/5_2/cvibuild.receive/receive.niobj
LabWindows/5_2/cvibuild.receive/resources.res
LabWindows/5_2/cvibuild.send/
LabWindows/5_2/cvibuild.send/build.ini
LabWindows/5_2/cvibuild.send/send.nidobj
LabWindows/5_2/receive.c
LabWindows/5_2/receive.cdb
LabWindows/5_2/receive.cws
LabWindows/5_2/receive.exe
LabWindows/5_2/receive.h
LabWindows/5_2/receive.prj
暂无评论内容.
*快速评论:
和说明不符
不是源码或资料
纯粹是垃圾
*内  容:
*验 证 码:
搜珍网是交换下载平台,下载的内容请自行研究使用或咨询上传人.
资源属性分别代表:系统平台,开发平台,开发语言,文件格式四部分.
本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用进行解压.
如果您发现此软件无法下载,请稍后再次尝试;或者.
本站提供下载的内容为网上收集或会员上传提供,若无意中侵犯了您的版权,.
如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
如下载后发现下载的内容跟说明不相乎,可以联系本站的客服,经确认可以退回消费了的积分.
联系我们网站
·电话:(0)
All Rights Reserved.关于LabWindows/CVI设计的一些知识点
关于LabWindows/CVI设计的一些知识点
发布时间: 18:20:36
编辑:www.fx114.net
本篇文章主要介绍了"关于LabWindows/CVI设计的一些知识点",主要涉及到关于LabWindows/CVI设计的一些知识点方面的内容,对于关于LabWindows/CVI设计的一些知识点感兴趣的同学可以参考一下。
++++++++++++++++++++++++++++++++++++++++
How Do I Quit the CVI Panel by Clicking on the & X & Button in the Title Bar?
++++++++++++++++++++++++++++++++++++++++
Problem: Why does the & X & in the CVI panel not work? How do I quit the CVI panel by clicking on the & X & button in the title bar?
Solution: The X on the CVI panel generates a CVI EVENT_CLOSE function ...
There are two ways that you can handle this :
You can place an ordinary quit callback in your code that causes your application to quit . When editing your *.uir file, double click on the panel to bring up its property page. On the left-hand side you will see a drop-down list labeled &Close Control.&
Click on this list to select your desired quit callback. By default, the close control does not call anything. By making this change, you direct it to a particular callback function to quit your application.
*Note* if you are creating a new CVI panel, and use the tool
Code>>Generate>>All Code to choose one callback to be your quit callback, CVI will automatically map that callback to the Close Control of the panel as well.
The second approach is to have a PANEL callback. In the callback, you should check for the EVENT_CLOSE event. If an EVENT_CLOSE is detected, call the code that will quit your program (typically you will use
the QuitUserInterface() function).
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:借助LabWindows/CVI 2015利用最新技术 - National Instruments
借助LabWindows/CVI 2015利用最新技术
LabWindows/CVI 2015基于新开发的LabWindows/CVI优化编译器,包含了Clang 3.3,Clang是LLVM编译器基础架构的C语言编译器前端。 LabWindows/CVI 2013首次引入LLVM,这是一种业界标准的编译器基础架构,为编程人员提供了经优化且开箱即用的代码。 Clang 3.3可通过增加错误和警告消息来高亮显示薄弱环节,帮助开发人员确保代码的可靠性。
LabWindows/CVI 2015专为高稳定性而开发,包含了超过50个漏洞修复和改进,提供了强大的开发平台来构建重要的测试测量应用。 程序员可以利用LabWindows/CVI 2013包含的OpenMP和网络流等所有新功能来提高应用程序的性能,而无需大幅修改代码。 通过最新编译器和并行编程技术,LabWindows/CVI 2015可让开发人员专注于程序逻辑和I/O的开发。
改进的代码性能
借助新的业界标准的优化编译器,提高60%的代码生成速率
使用可移植且可扩展的OpenMP API,轻松复用现有代码
通过无损网络流API,实现网络应用程序之间的高效数据传输
使用新的高级TDMS功能来实现高性能数据流盘
更高生产力
编辑代码的同时编译源文件
在多核系统中并行创建多个文件,提高整体构建速度
正在调试的进程中可以连接或分离调试器
通过函数下拉列表和改进的浏览功能,轻松导航源文件
通过批量格式设置和自动缩进,创建更简洁美观的代码
提高代码性能
1. 执行优化编译器
在LabWindows/CVI 2013中,编译器使用了具有Clang C前端的LLVM编译器基础架构。 这个编译器可生成经优化的代码,这意味着您不再需要使用外部优化编译器来优化代码。
Clang被选作为LabWindows/CVI编译器的基础是因为它可以提供非常快速的编译、极其有用的错误和警告消息以及比早期LabWindows/CVI编译器高60%的执行速度。 执行复杂计算、数学或分析的开发人员将可看到最高的性能提升,因为编译器后端特别适合用于优化数学计算所需的资源。
LLVM和Clang最开始是伊利诺伊大学的一个研究项目,目的是提供一个基于SSA的现代化编译策略,能够同时支持任意编程语言的静态和动态编译[1]。 从那时起,LLVM逐渐发展,衍生了大量子项目,其中有许多被苹果、英特尔、AutoESL、NVIDIA及NI等各种商业软件供应商应用于生产之中。 如需了解更多信息,请访问。
开发人员还可以根据自定义的警告级别类型列表显示或隐藏警告级别,从而更轻松地找到感兴趣的警告、专注于错误和更高效地进行调试。 如果要访问“编译器警告”对话框,则右击“构建输出”窗口,然后选择配置警告。
图1.“构建输出”窗口中显示的自定义级别和警告类型。
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符合。
图2. OpenMP API集成到LabWindows CVI库树中。 您必须选中构建选项对话框中的启用OpenMP支持。
3. 无损的网络数据流
网络流API为分布式LabWindows/CVI或LabVIEW应用提供了无损的单向点对点通信通道。 利用网络流,您可以轻松地在网络上或在同一台计算机上共享数据。
网络流是一种易于配置、紧密集成的动态通信方法,适用于应用程序之间的数据传输,具有可与TCP相媲美的吞吐量和延迟特性。 网络流也增强了连接管理,如果由于网络故障或其他系统故障导致连接中断,网络流可自动恢复网络连接。 网络流利用缓存无损通信策略来确保写入网络流的数据即使在网络连接不顺畅的环境下也不会丢失。
图3.网络流提供了一个协议和API来实现网络应用之间的测量数据传输,而不会丢失任何数据点。
网络流的具体应用
网络流经设计和优化可实现无损、高吞吐量的数据通信。 网络流采用单向点至点的缓存通信模型来实现应用程序之间的数据传送。 这意味着其中一个终端是数据的创建者,另一个终端是读者。 您可以使用两个网络流来实现双向通信,其中每一台计算机的创建者和读者与对应计算机的创建者和读者相匹配。
由于网络流具有与原始TCP相匹配的吞吐量性能,因此对于高吞吐量应用,如果编程人员希望避免TCP的高复杂性,那么网络流就是理想的选择。 网络流也可以用于无损的低吞吐量通信,例如发送和接收命令。 但是,将网络流应用于低吞吐量通信时,如果需要获得最低的延迟,可能需要更明确地管理数据通过网络流发送的时间。
4. 高性能数据流盘
NI技术数据管理流(TDMS)文件格式是将测量数据保存到磁盘上的最快速、最灵活方式。 开发人员长期以来一直使用LabWindows/CVI TDMS API,在数据流盘时将定时信息和自定义属性关联到测量数据上。 将数据存储为TDMS文件省去了设计和维护自定义数据文件格式的需要,同时获得了记录详细、易于查询且可移植到任意平台的数据集。
图4.使用内置库将测量数据写入TDMS文件,可更好地按组来归类数据集并为每个数据集添加有关的描述性元数据。
5. 强大的构建系统
LabWindows/CVI构建功能可减少花在等待构建完成的时间,使开发人员能够继续进行代码编辑,同时在后台构建项目。 构建系统专门针对提高构建速度和需要并行构建多个独立源文件的项目进行优化,以便用户充分利用多核处理器的优势。
6. 强大的源代码浏览
LabWindows/CVI中提供了丰富的编程体验,为用户提供了直观控件、导航和源文件信息。 程序员可以使用源代码窗口中工具栏的下拉列表来查看和定位到源文件的函数。
此外,开发人员可以在编辑文件的同时生成源代码浏览信息,这样开发人员可以在编程的同时实时浏览代码,而不需要先编译。 该选项是LabWindows/CVI环境的一个全局功能,源代码浏览信息包含于发布和调试配置中。
图5. LabWindows/CVI工具栏的函数下拉列表可使源代码导航更为容易。
7. 批量格式和自动代码缩进
为了帮助开发人员创建更简洁、易读的代码,LabWindows/CVI提供了定制批量格式和自动缩进工具。 选择选项>>编辑器首选项,然后单击格式选项按钮来指定括号风格和缩进选项。 为了保持一致性,开发人员可以选择普通缩进和括号风格,并使用预览窗口来预览自定义选择的格式样例。 如果指定自动缩进的代码行,可选择源窗口中的文本行,然后选择编辑>>格式选择。 如果是自动缩进整个文件,则选择编辑>>格式文件。
图6.自动代码格式化可允许开发人员专注于程序逻辑,无需花费时间在设计源代码的风格来提高可读性。
8. 发布的软件依赖关系支持
在创建发布时,开发人员可以选中或忽略任何包含软件依赖关系的NI安装程序组件的软件依赖关系。 产品的软件依赖关系是指产品可能需要或不需要的组件,根据应用程序的特定需求而异。 通过“编辑安装程序”对话框的驱动和组件选项卡可选择软件依赖关系。
[1] www.llvm.org
书签收藏和分享
本网站使用cookies来为您提供更好的浏览体验。LabWindows -
电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛
- Powered by Eccn

我要回帖

 

随机推荐