From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.


Showing results for 
Search instead for 
Did you mean: 

Loosing weight - creating LLB plug-ins, using lvlibs, minimizing LLB size

Go to solution


      Is there a way to build LLBs which include specific VIs from VI-lib, without including all VIs from VI lib?


I added a function from AALPro.vilib to hierarchy and, as expected, it didn't show-up in the LLB after the build.  In the past I've re-written VIs from VI-lib but I'm getting lazy, so I un-checked "Exclude Files from VI lib" in [LV8.5] project-properties - and the size of the plug-in jumped from 13M to ~50M.  I'm hoping there's a way to minimize this weight-gain - an easier way than re-writing the function/hierarchy from AALPro.


Any help is appreciated.





Message Edited by tbd on 04-16-2009 04:04 PM
"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
0 Kudos
Message 1 of 7
Accepted by topic author tbd

Hi tbd,


Try adding the .lvlib to your project.  You should be able to add the specific VI you want to the llb without adding the rest of them.  Let me know if this works for you!



Message Edited by Smootastic on 04-17-2009 04:51 PM
Message 2 of 7

Hi tbd,


"In the past I've re-written VIs from VI-lib"


I hope you saved them under a different name? And saved them in your user.lib?

Best regards,

using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 3 of 7

Hi Smootastic,

      I thought of this (while on the phone with LV app-engineer) but worried that polymorphic VIs will still need all their sub-VIs - all those VIs that show-up as dependencies.  If I knew by adding just a few VIs it would work, I'd do it!  If it comes to adding all the VIs and subVIs listed as dependencies, forget it.


What would be nice is an "Include" property that could be checked - maybe by right-clicking on the dependency.  I was also looking for a table of properties like those that used to be available when compiling under LV7.x. 


Dear Gerd, thanks for the warning!  When I rewrite things they do get renamed (usually as a Util...) and go here...



"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
0 Kudos
Message 4 of 7

The original Interpolation-Spline function was called from one location and with Start/End conditions wired from constants.


Since there didn't seem to be a simple way to avoid adding hundreds of VIs to the hierarchy, I went ahead and re-wrote the Interpolation-Spline hierarchy for the "not-a-knot" case.


This LLB is about 0.2M, saving about 40M and allowing LLBs to be created from the File\Save-As dialog (a time-saver during debug.)


In this case, about 40M of code was unreachable - a fact known or knowable at compile-time IF only static-linking is assumed.  How about a compiler-optimization/switch called "assume static links" so the compiler can drop unreachable code?  Is the LV8.6(.1) compiler any better about this?



"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
0 Kudos
Message 5 of 7

Hi tbd,


As far as I can tell, you would run into the same issue with the 8.6.1 compiler.  Also, the Product Suggestion Center is a great place to send feature requests for review by R&D.  Thanks for the feedback! 

0 Kudos
Message 6 of 7

(Belated) Thanks, Kyle!


In case anybody might actually looks at the previously-attached LLB, it's missing a VI and a couple of .ctls, however, the missing ctls can all be disconnected from type-def, and the missing VI is non-essential as it's just a wire-through!




"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
0 Kudos
Message 7 of 7