home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!decwrl!deccrl!news.crl.dec.com!pa.dec.com!engage.pko.dec.com!ramblr.enet.dec.com!moroney
- From: moroney@ramblr.enet.dec.com
- Newsgroups: comp.os.vms
- Subject: Re: Linking C programs
- Message-ID: <1992Aug28.181204.2324@engage.pko.dec.com>
- Date: 28 Aug 92 19:00:44 GMT
- Sender: newsdaemon@engage.pko.dec.com (USENET News Daemon)
- Organization: Digital Equipment Corporation
- Lines: 25
-
- In article <01GO244CRQ7K8WWQ8Q@MARICOPA.EDU>, shoecraf@mc.bitnet (Steve Shoecraft) writes...
- > A short time ago, I saw a response to one of these questions which pointed
- >out where the REAL problem is, and why we need to do this in the first place.
- >It was pointed out that since the CRTL wasn't in the sharable image library,
- >IMAGELIB.OLB, and therefore, we must provide a pointer to it implicitly. Well,
- >why not put it there?? To do this, just add it to the image library:
- >
- > $ SET DEF SYS$LIBRARY
- > $ LIB/SHARE IMAGELIB SYS$SHARE:VAXCRTL.EXE
- ...
- > If anyone out there might have any comments or warnings on this please let
- >me know... As yet, I have not seen/heard of any problems by doing this...
-
- Arrrghhh! Good way to hose a system.
-
- If you do this, any FORTRAN or BASIC or assembler program that has a routine
- named READ, WRITE, PRINTF etc. or references a routine by these names will
- not link correctly and may wind up calling the VAXC RTL instead!
-
- The Fortran, Basic etc. RTLs all have routines name FOR$xxx or BAS$xxx, but
- the C language definition requires the name to be printf etc. so DEC-reserved
- names such as C$PRINTF couldn't be used. Therefore, VAXCRTL couldn't
- be put into IMAGELIB.
-
- -Mike
-