LINKIMAGE/CALL_EXTERNAL/DLM advice [message #13806] |
Thu, 10 December 1998 00:00 |
steinhh
Messages: 260 Registered: June 1994
|
Senior Member |
|
|
I pondered about using the word "warning" instead of "advice"
in the subject of this post, but I wouldn't risk worrying
people too much.
The thing is, if you use linkimage/call_external/dlm (dynamically
loadable modules) for anything fancy that *might* be dependent on
values in the "export.h" file supplied with the IDL distribution, you
should always remember to *recompile* your C programs when upgrading
to a new IDL version. The thing to look out for in particular is when
you're calling libidl functions.
I got bit (somehow) by this yesterday, when I used some functions
that I (apparently) have not used since IDL v 4. It's likely that
some problem arose with the IDL_EzCall mechanism, since testing
finally showed that I got different answers from a function depending
on the type of the parameters I sent (IDL_EzCall was used to convert
all arguments to FLOAT, so this *shouldn't* happen). Recompiling
(without updating the export.h file) didn't help much, but after
updating export.h, the recompilation did help.
This is of course not a bug in any way, and I guess I should have
*known* that a recompilation of external code should always be done
with a new version, but I wish this had been pointed out somewhere...
(I'm not saying it isn't, just that I haven't seen it :-)
I spent a fair amount of time yesterday hunting down the cause for my
inexplicable results (which I *knew* were correct a while ago!) but I
haven't tracked down the exact mechanism for the failure...I found a
fix, though, and thought I should let people know.
Regards,
Stein Vidar
|
|
|