Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/3/84; site grkermi.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!harvard!talcott!panda!genrad!grkermi!eric
From: eric@grkermi.UUCP (Eric N. Starkman)
Newsgroups: net.lang.c,net.lang.f77
Subject: Re: VAX VMS C / UNIX C Compatibility -- Need Info
Message-ID: <541@grkermi.UUCP>
Date: Thu, 8-Aug-85 10:22:14 EDT
Article-I.D.: grkermi.541
Posted: Thu Aug  8 10:22:14 1985
Date-Received: Sun, 11-Aug-85 06:40:37 EDT
References: <488@rdin.UUCP>
Reply-To: ens@panda.UUCP (Eric N. Starkman)
Organization: GenRad, Inc., Concord, Mass.
Lines: 26
Xref: linus net.lang.c:5432 net.lang.f77:301

In article <488@rdin.UUCP> perl@rdin.UUCP (Robert Perlberg) writes:
>Is the VAX VMS C-compiler compatible with UNIX?  That is, can I take
>C files that compiled under UNIX and compile them under VMS with no
>changes other than the shell commands inside of system() calls? A guy
>in my office says that to hope for this is naive at best, but I thought
>that this ability was supposed to be a feature of C.

VMS C does a pretty good job of looking like Unix C, but there are a
number of things under the UNIX operating system that it's sort of
difficult to emulate under VMS.  Consider stat(2), for instance;
the nature of the VMS file system just doesn't lend itself to
duplicating that call.

>Another thing I'm looking for under VMS is the ability to load both
>C and FORTRAN object files into one executable. Does anyone know if
>this works?

Object code is object code.  As far as sharing data, VMS C externs
correspond to FORTRAN common blocks.  Each extern resides in it's
own program section.  VMS C also has 'global' types which correspond
to a global symbol in assembly language.
(All from the VAX/VMS C manual, V1.0, chapters 10 and 11)

					-Eric Starkman
			arpa: starkman@athena.MIT.EDU
			uucp: ...decvax!genrad!panda!ens