LabVIEW Compiler optimizations: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
=Compiler Optimization= | =Compiler Optimization= | ||
==Constant folding== | ==Constant folding== | ||
==Removing unused code== | ==Removing unused code== | ||
| Line 12: | Line 11: | ||
The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired. | The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired. | ||
The lower part uses the caption reference and troughs an error. | The lower part uses the caption reference and troughs an error. | ||
==External links== | |||
*[http://zone.ni.com/devzone/cda/pub/p/id/347 Fuzzy Wires and Constant Folding in LabVIEW] | |||
Revision as of 15:26, 2 June 2008
Compiler Optimization
Constant folding
Removing unused code
The LabVIEW compiler removes any unused code, code that is inside a case that will never execute is excluded form the compiled code. This gives the infamous warning on 8+ systems that opens a 7- VI where a case structure that is fed by a constant, the constant is replaced by a hidden control to maintain compatibility.
The same goes for property read nodes where the output is unwired.
See the following example:
The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired. The lower part uses the caption reference and troughs an error.