home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / os / vms / 14275 < prev    next >
Encoding:
Internet Message Format  |  1992-08-29  |  1.6 KB

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