前言

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. UILabel 的一个蛋疼问题

    一.问题描述 在iOS8以下版本,numberOfLines设置为0,编译警告Automatic Preferred Max Layout Width before iOS8.0,同时不能换行. 二. ...

  2. go:结构体的可访问性

    1.要使某个符号对其他包( package)可见(即可以访问),需要将该符号定义为以大写字母开头------摘自go相关书籍2.go只限制包内外的可访问性,而不限制同包内不同文件的可访问性 本文讨论结 ...

  3. C#可空类型

    C#创建可空类型对于有些可选类型的时候特别好用.创建可空类型用法直接上图. 执行效果 用法 运行效果

  4. STL heap usage

    简介 heap有查找时间复杂度O(1),查找.插入.删除时间复杂度为O(logN)的特性,STL中heap相关的操作如下: make_heap() push_heap() pop_heap() sor ...

  5. 简单的php socket 实例

    server: <?php set_time_limit(0); $ip = '127.0.0.1'; $port = 8888; // 1. 创建 if( ($sock = socket_cr ...

  6. 关于ZedGraph

    http://www.codeproject.com/Articles/5431/A-flexible-charting-library-for-NET

  7. Mac系统下React Native环境搭建

    这里记录一下在Mac系统下搭建React Native开发环境的过程: 1. 安装HomeBrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.g ...

  8. 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具

    近日,一种名为"DressCode"的恶意代码引起了国内安全行业的关注,该恶意代码以企业员工的移动设备作为跳板对企业内网进行攻击,对企业安全造成严重威胁.安天移动安全公司威胁情报团 ...

  9. CSV文件分割与列异常处理的python脚本

    csv文件通常存在如下问题: 1. 文件过大(需要进行文件分割)2. 列异常(列不一致,如元数据列为10列,但csv文件有些行是11列,或者4列)本脚本用于解决此问题. #coding=utf-8 ' ...

  10. 【转】Android 底层开发的几点

    我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径.根据前辈的经验,Android底层完全入门需要两年. 先说下我的入门过程:第零步,下载源码,我下的 ...