comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Getting BIG structures into IDL via CALL_EXTERNAL
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Getting BIG structures into IDL via CALL_EXTERNAL [message #22512] Fri, 17 November 2000 00:00
Mark Rivers is currently offline  Mark Rivers
Messages: 49
Registered: February 2000
Member
Randall Skelton wrote in message ...
> Hello all,
>
> I am trying to pass an array of structures (which are very large) into
> IDL. The structure does contains strings; how should I pass them?
> (i.e. do I have to use IDL_STRING and if so, how?) The dimensions and
> format of each structure is:
>
> struct atheader
> {
> /* 8 strings, for a total of 160 bytes */
> char runlabl[16], acomment[72], afilter[4], source[12];
> char obsloc[12], detector[8], cspare1[32], forrev[4];
...
> Has anyone tried to do such a thing? I have it all working very nicely in
> C but I am having some troubles getting the data into IDL. Is it possible
> even to get an array of structures into IDL in one operation? The IDL
> manual does give an example of passing an array into IDL...

This can be done, but you need to be careful about your use of the term
"pass an array of structures into IDL". When using CALL_EXTERNAL you need
to create any variables which will passed from IDL to the library OR
returned from the library to IDL, in IDL prior to the call and pass them to
the C code. Thus, in this case you need to create the array of structures
in IDL, then pass it by reference to the C code. You need to make sure the
IDL structure has the same layout as the C structure, which it generally
will if you are careful with int vs short, etc. There could potentially be
a problem if IDL decided to use difference padding (alignment) in your
structure than C, but I have never found this to be a problem, and I have
done what you are proposing.

Mark Rivers
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: compile all files in current path
Next Topic: include files in IDL programs

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 14:32:49 PDT 2025

Total time taken to generate the page: 0.14972 seconds