ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

shared memory

Hi,
I wanted to know if there is a way to share DLL memory with Labview, (in a simple windows 2000 desktop computer).  For example, if I have two C processes, (C-Process-1 and C-Process-2), attached to a DLL with a shared memory segment, each C process can read and write directly to the shared memory, (declared in the DLL, using a shared segment, and exported properly).  That is, if C-Process-1 writes to DLL-shared-memory-array[100], C-Process-2 can read those values from DLL-shared-memory-array[100] directly without calling any functions to pass/copy any of the data.  That is, there is no passing data between the DLL and the processes.  The memory is simply shared and directly addressed by each process.  This I know is true and have implemented such a strategy.  I want to know if the same paradigm is possible using Labview.  Could I substitute a Labview program, (call it Labview-1), for C-Process-2 in the above example and have it work the same way.  That is, could I setup the system such that Labview-1 could assign values directly to DLL-shared-memory-array[100], and C-Process-1 could directly read them.  And vice-versa.  I know I could setup function calls to the DLL, (from Labview-1), and pass data in and out to DLL-shared-memory-array[100], but again, I don't want to pass the data.  That would be wasting cpu time, (and memory), over direct mapping, (I think).
Thanks,
Nu
0 Kudos
Message 1 of 2
(3,093 Views)
Nu,

Unfortunately, the only way to do what you're asking is to pass the data in and out of the dll (which I know you don't want to do). Sorry I can't give you a better answer!
Sarah K.
Search PME
National Instruments
0 Kudos
Message 2 of 2
(3,062 Views)