[Info-vax] message communication (VMS <> PC)
Rich Jordan
jordan at ccs4vms.com
Fri Jan 22 12:46:58 EST 2010
On Jan 22, 7:49 am, koeh... at eisner.nospam.encompasserve.org (Bob
Koehler) wrote:
> In article <4b57add4$0$275$14726... at news.sunsite.dk>, =?ISO-8859-1?Q?Arne_Vajh=F8j?= <a... at vajhoej.dk> writes:
>
>
>
> > You can try and call the standard socket functions
> > directly from Fortran.
>
> We actually did that on a system where the programmer couldn't figure
> out the $QIO documentation for UCX. I showed him how to translate
> the C header file info into VAX Fortran structures (ANSI Fortran
> didn't yet have structures back then), and pass arguements by value
> and such. We did have to code some calls to socket routine X as
> DECC$X.
>
> We found a memory leak in the C RTL socket routines and got DEC to
> fix it, even though our sample code was Fortran. Cross-language
> calling is, of course, a documented and supported feature of VMS'
> native compilers.
My first network programs were Fortran on MicroVMS V4.6 with TCPWare
FTP-VMS V1.2 using direct QIO calls. I was learning as I went and
used double buffering, asynchronous QIOs with event flags. It worked
fine, and even worked faster than the initial synchronous code, till
we had to make it work on the big VAX with the Excelan stack, and
later with UCX. I wish I'd had Netlib back then.
Fortran was (is?) a lot easier to write code that calls system library
functions than BASIC, at least for me, but the current company is a
BASIC shop.
More information about the Info-vax
mailing list