Thank you very much. I use IDL under windows.<Deleted>I have generated vecadd.dll from visual fortran. Then I use
result = call_external('f:\fortran\vecadd.dll','f:\fortran\vecadd ', a,
n_elements(a), x, n_elements(x), b)to call the dll. The error message is as following:
% CALL_EXTERNAL: Error loading sharable executable.
Symbol: f:\fortran\vecadd, File = f:\fortran\vecadd.dll
ERROR_PROC_NOT_FOUND
But I have dll file under f:\fortran. How to do then? May be I have set
wrong parameter.
This is explanation of call_external:Result = CALL_EXTERNAL(Image, Entry [, P0, ..., PN-1])
Entry:A string containing the name of the symbol in the library which is the
entry point of the routine to be called.I donot know how to set entry.
Where can I find The IDL External Development Guide?
Jiali
"Liam Gumley" <Liam.Gumley@ssec.wisc.edu> wrote in message
When you call:
junk = call_external('f:\fortran\vecadd.dll', '_WVECADD@8', p1, p2,
p3, p4)
Note the @8 refers to the fact that two pointers are passed to wvecadd for a total of 8 bytes. The syntax of Call_External makes this suffix true for all Call_external calls on windows.
Note on HP and Sun unix the entries are 'wvecadd' and 'wvecadd_', respectively. You will need to branch if you are writing these routines form multiple platforms.
Good luck.
-- L. Paul Mix Distinguished Member of the Technical Staff Electromagnetics and Plasma Physics Analysis Sandia National Laboratories MS 1152, P.O. Box 5800 Albuquerque, NM 87185-1152 E-mail: lpmix@sandia.gov Phone: (505) 845-7493 FAX: (505) 284-6078