前言

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. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  2. OpenGL中坐标系的理解(一)

    在OpenGL中,存在着至少存在着三种矩阵,对应着函数glMatrixMode()的三个参数:GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE. 以下主要描述GL_MODEL ...

  3. ajax提交form表单

    1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...

  4. php性能剖析的几款软件

    1. xhprof (http://pecl.php.net/package/xhprof)   facebook  2009年开源 2. xdebug 3. valgrind 4. cachegri ...

  5. leetcode 137[转]

    没思路.网上找到的. 1. 将每一个int看成32位数,统计每一位出现的次数对3取余,所以需要开辟一个32大小的数组来统计每一位出现的次数 2. 对第一种思路进行简化,模拟3进制: three two ...

  6. Tensorflow- tensor的列操作

    几个point [:,i]类似python直接的index 列操作是可行的, 注意i不能是variable,如果是使用slice slice操作会保持和输入tensor一样的shape 返回 而1对应 ...

  7. MongoDB的分片(9)

    什么是分片 分片是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这些块分散到若干片里, ...

  8. 文件管理[Linux]

    文件系统 rootfs: 根文件系统 /boot 系统启动相关的文件,如内核.initrd.以及grub(bootloader) /dev 设备文件 块设备 随机访问 字符设备 线性访问 设备号 主设 ...

  9. 前端知识杂烩(Javascript篇)

    1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...

  10. fat32转ntfs

    convert c: /fs:ntfs 下了个维基的zim,7G,fat32放不下 :( Microsoft Windows [版本 6.1.7600] 版权所有 (c) 2009 Microsoft ...