Thanks for your insight, Greg.  I was surprised to learn that global
references each contain a copy of the data.  This implies that each
time data is written to a global, each copy of that global must get
updated.  The process sounds amazingly inefficient.   Now I know why
globals are taboo in LabVIEW.

I was also surprised to learn that control "references" are not like
data pointers, or object pointers, in this case.  Thanks for pointing
out this error in thinking.  This knowledge is sure to help me in
future projects.

I have noticed that most of the NI code for interfacing with registers
and managing memory have a dll at the core.  The function details are
handled outside of the LabVIEW development toolbox, precompiled and
self contained.  It sounds to me that the only way to efficiently and
effectively get control over the memory is to write the code block (in
c or something) to manage the data the old fashioned way.  It appears,
as I have anxiously suspected, there's no substitute for knowing how
to manage memory at the lowest level.

Since I am a slave to LV, I have only done this on rare occasions
where the hardware I was controlling came with only a c app dev kit.
I just deal with what NI gives me.  :)

Reply via email to