前言

LabVIEW程序开发,让我们的程序设计变的简单容易,但是设计过程中也不乏大量的重复性工作,其中最让人头痛的莫过于依赖冲突问题。

事实上,只要你对文件进行了修改或者移动,必不可少的依赖冲突就会产生。

如何避免依赖,或者说设计一个容易移植的程序呢? 本文给大家一个思路,有更好的意见可以共同探讨。

正文

LabVIWE路径依赖的解除有很多方法,今天介绍的相对简单便捷的一种,后续我也会整理整理其他的一些解除方法。

什么是路径依赖冲突
文本语言中每一个函数是只是一个Function,而LabVIWE的函数却是一个文件,所以LabVIEW开发出来的程序会存在许多的.vi文件,这些文件在磁盘上按照一定的规律存储。

如果你脱离LabVIEW改变了这些存储规则,各种路径依赖的冲突就会产生,最典型的表现形式如下图所示:

为什么会出现路径冲突

路径冲突的出现有很多原因,常见的情境有以下方面:
1. 写了一些代码发现名字命名不好,在磁盘下修改了这些命名
2. 需要用到其他项目中的一些文件,所以拷贝了一份过来
3. 需要移植到另外一台电脑上,或者给别的人去阅读代码
 

怎么解决路径冲突

路径冲突形成的原因各不相同,这里小黑只介绍一下如何避免拷贝代码带来的路径冲突。

事情的起因是这样的:

有一天,小黑突然想起当前的项目需要使用用户登陆界面,而登陆功能都做过N个版本了,不想再重新写一遍。于是小黑想把以前项目中的代码复用到新项目。

简单复制后出现了许多许多的路径冲突和依赖问题。

为了避免上述的问题,小黑通过下面的方法去做,问题迎刃而解。

干货如下:

1.将需要解除依赖关系的VI放置于一个空白的项目中去,这里可以是一个VI,也可以是一个文件夹或者是一个项目

2.创建源代码发布的Builds,建立一个发布的工程
3.将需要发布的内容添加到Always Include中去

4.设置目标目录,用于设定发布的路径

5.设置支持目录,该目录主要用于放置依赖的一些文件VI

6.源代码设置,其中核心代码的正常配置到目标目录下即可,这里重点看的是依赖目录放置位置,选择Dependencies,然后选择为支持目录。其他的一些附属操作可以自己摸索。

5.解除对VI的依赖关系
完成上述的设定后,可以预览一下发布代码后的内容,这里我将依赖的VI都放在了data目录下

点击发布按钮,即可在目标文件夹下找到依赖解除的VI了。

解除依赖后的VI直接复制移动到项目下,新的项目就会使用一个没有任何冲突的VI群了。

简单的配置,带了了效率的极大提升!这个技能必不可少!

后记

我分享这些内容,一方面是为了整理和输出知识的过程,另一方面也给还没有注意到这个细节的工程师带来一些思考。

如果你觉得这些文章对自己有帮助,或者你也有一些属于自己的心得体会,不妨后台联系我,共同探讨进步,闭门造车永远是慢速前进的,分享才会促进共同进步。




 
 

【LabVIEW技巧】路径依赖解除方法的更多相关文章

  1. Scala 深入浅出实战经典 第52讲:Scala中路径依赖代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  2. asp.net后台获取路径的各种方法归纳

    asp.net后台获取路径的各种方法归纳   1.Request.CurrentExecutionFilePath    获取当前请求的虚拟路径,不同于 FilePath,差别在于如果请求已在服务器代 ...

  3. (转)多个mapreduce工作相互依赖处理方法完整实例(JobControl)

    多个mapreduce工作相互依赖处理方法完整实例(JobControl) 原文地址:http://mntms.iteye.com/blog/2096456?utm_source=tuicool&am ...

  4. scrapy技术进阶-URL路径依赖

    方法1: #!/usr/bin/python # -*- coding: gbk -*- import time from scrapy.spider import BaseSpider from s ...

  5. 第52讲:Scala中路径依赖代码实战详解

    今天学习了scala中的路径依赖,来看一下实战代码 class Outer{  private val x = 10  class Inner{    private val y = x +10  } ...

  6. java中得到classpath和当前类的绝对路径的一些方法(路径中的%20"进行替换空格)

    原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...

  7. 解决JSP路径问题的方法(jsp文件开头path, basePath作用)

    原文:http://blog.csdn.net/mingxunzh/article/details/4627185 在JSP中的如果使用 "相对路径"  则有可能会出现问题. 因为 ...

  8. WPF 获取程序路径的一些方法,根据程序路径获取程序集信息

    一.WPF 获取程序路径的一些方法方式一 应用程序域 //获取基目录即当前工作目录 string str_1 = System.AppDomain.CurrentDomain.BaseDirector ...

  9. eWebeditor编辑器上传图片路径错误解决方法[疑难杂症]【转,作者:unvs】

    做了一个多版本的网站,后台用的编辑器是eWebeditor,NET版,后面发现上传图片或者文件之后,路径错误无法显示,必须手工修改才行.. 为了更清楚的说明问题,我下面会说的比较详细,首先是网站文件框 ...

随机推荐

  1. Sublime Text 基础配置

    作为一个码农,总有一款自己喜爱的编辑器.现今,我最喜欢的编辑器便是Sublime Text 3.其实很早便用了这款编辑器,大概是在两年前就开始用了吧.可总没有好好去学习下,很多很多功能不知道.今天下午 ...

  2. Mac php使用gd库出错 Call to undefined function imagettftext()

    第一次在Mac下使用ThinkPHP,用到验证码功能时报如题的错误: Call to undefined function Think\imagettftext() 然后检查自己的GD库,发现安装上了 ...

  3. 使用VBScript实现设置系统环境变量的小程序

    本人有点桌面洁癖,桌面上只放很少的东西,很多软件都用快捷键调出.最近频繁用到一个软件,我又不想放个快捷方式在桌面,也不想附到开始菜单,于是乎想将其所在目录附加到系统环境变量Path上,以后直接在运行中 ...

  4. APP产品交互设计分析总结(不断更新中...)

    1.首页中的最下方的TAB和中部的TAB的区别 最下面的tab按钮应该是核心级模块级的大功能入口 中间的按钮应该是次核心级页面级的小功能入口 2.对于编辑是在单页内实现好还是跳转到新页面实现好 内容比 ...

  5. java反射详解

    本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象 ...

  6. UVA 10692 Huge Mods(指数循环节)

    指数循环节,由于a ^x = a ^(x % m + phi(m)) (mod m)仅在x >= phi(m)时成立,故应注意要判断 //by:Gavin http://www.cnblogs. ...

  7. x

    笔记 { 计算机 { 底层 { 程序运行 } 信息学 { 网络 { 网络信息安全 } 算法 { 算法 拟合 编译解释词法分析 } 编程语言 { C语言 嵌入式C++ } 黑客 } } 安卓 { 软件 ...

  8. webform简单、复合控件

    简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 2.Literal 空的,C#会把里 ...

  9. 【CentOS】LAMP相关4

    MySQL不支持TAB补全.mysql_history命令历史 用SOCKET形式登陆:mysql -uroot -p123456,mysql -uroot -p123456 -S /var/lib/ ...

  10. ThreadLocal内部机制及使用方法

    一.介绍ThreadLocal内部机制之前,先简单说明一下其特点及用途: 1.ThreadLocal是单线程内共享资源,多线程间无法共享(即线程A访问不了线程B中ThreadLocal存放的值): 2 ...