call_external question [message #11261] |
Tue, 17 March 1998 00:00  |
Ebeth Jones
Messages: 6 Registered: March 1998
|
Junior Member |
|
|
I have a bunch of IDL code that was written to run under SUN OS
and I'm trying to get it to run under Win95. I noticed that
there is a call_external in my stuff. I'm still relatively
new to IDL and hopefully this isn't a really stoopid question,
but my understanding is that call_external calls compiled object
code. My question is, can i use the .o file that was compiled
under unix, or do i need to recompile it on the PC, and if I
do does IDL have a preferred C compiler for this task?
thanks -
Ebeth Jones
|
|
|
Re: call_external question [message #11378 is a reply to message #11261] |
Fri, 20 March 1998 00:00  |
rivers
Messages: 228 Registered: March 1991
|
Senior Member |
|
|
Dave Fanning writes:
> On the PC, the "shared" library code must be in the form
> of a DLL, using the Win32 protocol. This means that you
> are going to have to learn (probably) how to be a least
> a little bit of a Windows programmer. You can find some
> simple examples of a DLL program in the IDL Advanced
> Development Guide and in the external subdirectory of
> the IDL distribution, but your best bet is to find someone
> who knows what they are doing and offer to buy him or
> her lunch several times a week. :-)
People considering writing a signficant amount of call_external code under
Win32 should consider waiting for the release of IDL 5.1. The reason is that
the way IDL passes strings to external code under Win32 changes with IDL 5.1.
It becomes consistent with Unix, which is good. What is not so good is that
those of us who have written a lot of DLLs which work under IDL 5.0 and earlier
versions now have to worry about 2 versions of all those DLLs, and figuring out
which one to call depending upon which version of IDL is being used.
I can provide examples of VC++ command lines and .DEF files for people who are
interested in building IDL callable DLLs under Windows. It's not difficult.
____________________________________________________________
Mark Rivers (773) 702-2279 (office)
CARS (773) 702-9951 (secretary)
Univ. of Chicago (773) 702-5454 (FAX)
5640 S. Ellis Ave. (708) 922-0499 (home)
Chicago, IL 60637 rivers@cars.uchicago.edu (e-mail)
or:
Argonne National Laboratory (630) 252-0422 (office)
Building 434A (630) 252-0405 (lab)
9700 South Cass Avenue (630) 252-1713 (beamline)
Argonne, IL 60439 (630) 252-0443 (FAX)
|
|
|