LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

separate compiled code from source, no effect?

I don't understand your point.
0 Kudos
Message 21 of 33
(1,582 Views)

@Garvacious wrote:

Which makes me wonder, what situations WOULD this option prevent LabVIEW from recompiling files that were not physically changed in?


Be careful with your terminology.  With the separate compiled code, all object files (compiled code) are saved in some repository that NI keeps track of.  Any changes to other files will cause a VI to be recompiled.  But that does not necessarily mean your source file will be changed.

 

For instance, A calls B.  Somebody goes into B and changes something.  A will still need to be recompiled.  But with the separate compiled code, the source file a A will not change.  This helps so much with source control.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 22 of 33
(1,563 Views)

OK, I did verify (by looking at a related thread) that as of LV2012, NI is forcing typedef changes to update all their callers' .vi files regardless of the "separate source code" setting due to a bug with the feature in LV2011.  Glad they fixed the bug but this takes away (for me at least) the chief use case for this option and makes it much less useful.  Sure, there are other cases where separating source code would prevent lots of unnecessary .vi changes but the typedef propagation is by far the biggest offender.

 

For those of you who have never done a large multideveloper project with source code control- you have no idea how frustrating it is to change one vi and have 50 other files suddenly want to commit changes to your source code repository.  It makes organzied development and change tracking very, very painful.  The bigger the project the worse this gets.

 

And crossrulz- what I was referring to (although I admit my terminology was wrong) was that my .vi source files are still getting "dirty dots" even with the separate source code option selected.  I just found out why (see explanation above).



Message 23 of 33
(1,549 Views)

Garvacious wrote:

For those of you who have never done a large multideveloper project with source code control- you have no idea how frustrating it is to change one vi and have 50 other files suddenly want to commit changes to your source code repository.  It makes organzied development and change tracking very, very painful.  The bigger the project the worse this gets.


I have been on those and have experienced it.  The separate from compiled code is the perfect fix for exactly what you just described here.  Type defs are a totally different story.  But you really should not be changing your data structures that far down the developement process.  Those should be all but set early on.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 24 of 33
(1,523 Views)

@crossrulz wrote:

But you really should not be changing your data structures that far down the developement process.  Those should be all but set early on.


 

 

In an ideal "textbook" world, sure.  But real-world projects often include things like scope creep, sudden requirements changes, "agile" development processes, etc. etc.   Typedefs change.



Message 25 of 33
(1,493 Views)

Sorry to revivie an old thread, but I'd love to know if NI has plans to once again tackle the idea of preventing typedef changes from immediately recompiling every vi that uses the typedef.  It does sound like allowing this feature (by way of separating source and object files) caused issues- can it be re-addressed in a future version of LV or is it just too difficult to do given the nature of the LabVIEW compiler? 

 



0 Kudos
Message 26 of 33
(1,461 Views)

@Garvacious wrote:

Sorry to revivie an old thread, but I'd love to know if NI has plans to once again tackle the idea of preventing typedef changes from immediately recompiling every vi that uses the typedef.  It does sound like allowing this feature (by way of separating source and object files) caused issues- can it be re-addressed in a future version of LV or is it just too difficult to do given the nature of the LabVIEW compiler? 

 


I have been told that NI is looking into the cases that cause this.  Supposedly, one of the cases will be fixed in LabVIEW 2014.  I haven't tested it in the beta yet to say for sure, so don't take that a golden information.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 27 of 33
(1,454 Views)

Let's talk about large multi developer projects.

 

it's very likely you're very large application can be broken down into specific modules. Hand each developer or set of developers one of those modules put down in a library and hang unit test framework tests outside the library in the library development project.  now as soon as you've written the tests and shell coded the public api members the top level application can be assigned a Dev team.  Nightly runs of the UTs track completion by req and identify who broke what unitentionally.  Bonus! You know where to change code when the requirements do change.

 

Not too mention the happiness of the team members.

 

 


"Should be" isn't "Is" -Jay
Message 28 of 33
(1,372 Views)

I had the same question as the original post with updating enums will create "dirty dots" to all VIs that used the enum.

But it seems this has been fixed with LabVIEW 2014 SP1

0 Kudos
Message 29 of 33
(1,310 Views)
Have you changed the other two option settings in LabVIEW related to reducing unnecessary recompilation? One is to treat read-only files as locked, and the other is to not save automatic changes. Also doing a "Save All" forces a save regardless of how you have other things set

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 30 of 33
(1,289 Views)