Home »
Public Forums »
archive »
Re: Share memory between C and IDL-RPC-server?
Re: Share memory between C and IDL-RPC-server? [message #9713] |
Fri, 08 August 1997 00:00 |
davidf
Messages: 2866 Registered: September 1996
|
Senior Member |
|
|
Stefan Schoene writes:
> I need to find a way to handle large arrays between a c-program and an
> IDL-RPC-server without copying
> (like IDL_RPCSetVariable() does). Is it possible that both can share
> the same memory area?
I am no "linking to IDL expert", so I wouldn't take everything I say
as the gospel truth, but I think this is an accurate statement.
It is possible to share variable memory between IDL and your C program,
but the memory space should be allocated and populated on the IDL
side. The reason for this is that IDL was designed from the
beginning as a stand-alone application. The idea of linking it
to external software came much later in its development. As a
stand-alone piece of software, it has its own ways of doing things.
The entire Advanced Development Guide (for those who can read and
understand it; I am not one of them) is devoted to explaining the
"IDL way" of doing things. A basic tenet is that variables should
be created on the IDL side. Your C program can access them through
utility macros like IDL_RPCGetArrayData, which returns a pointer
to the data portion of an IDL variable structure.
I'd check with the experts (Mark Rivers, are you listening?)
here on the newsgroup and at RSI for the full story.
Cheers,
David
------------------------------------------------------------ -------------
David Fanning, Ph.D.
Fanning Software Consulting
Customizable IDL Programming Courses
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com
IDL 5 Reports: http://www.dfanning.com/documents/anomaly5.html
|
|
|
Current Time: Wed Oct 08 15:36:21 PDT 2025
Total time taken to generate the page: 0.00603 seconds