04-15-2012 11:29 AM
I have a huge progam that I currenlty build into an executable (comes in at about 42 MB). It works, but there are 2 problems:
1) it takes forever (about an hour and a half to compile)
2) it takes about 2 minutes to load. It runs fine once it is loaded... it just takes a while.
The project consists of several classes and some basic vi functions that rarly change. Is it possible to build some of these into seperate files (such as a .dll) that can be referanced by the executable? If so, how do I link the executable to it?
I'm using labview 2010 SP1 (32 bit), windows 7 64 bit, but all deployables must also work on 32 bit XP machines
04-16-2012 06:59 PM
Hi tiemanjw,
It looks like LabVIEW 2010 has compiler optimizations which slow down the compile time of large VI's.
http://digital.ni.com/public.nsf/allkb/BA4B9038D01F3C99862577CA004BE1AD?OpenDocument
However, you can change the compiler settings to improve the compile time:
http://digital.ni.com/public.nsf/websearch/3A28C7098620AFD78625783400763C69?OpenDocument
Also, you cannot create a deployable to a 32 bit machine from a 64 bit machine:
http://digital.ni.com/public.nsf/allkb/71E9408E6DEAD76C8625760B006B6F98
Here is a document on how to create a .dll file:
https://decibel.ni.com/content/docs/DOC-9069
You should then be able to add the .dll files to your source files before building the executable
04-17-2012 05:02 AM
1+2) Take a look at VI server and start some VI's dynamically. If not all are needed instantly in the program that might reduce both compile and startup time (the dynamically loaded will ofc take longer to start the first time, but it's often a lesser nuisance)
You'll need to include the dynamically loaded as Include vi in the build.
3) If you compile on a 32bit LV, you get a 32-bit program, you'll be fine.
/Y