home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / gnu / g / help / 1058 < prev    next >
Encoding:
Internet Message Format  |  1992-07-29  |  1.3 KB

  1. Path: sparky!uunet!elroy.jpl.nasa.gov!ames!agate!forney.berkeley.edu!jbuck
  2. From: jbuck@forney.berkeley.edu (Joe Buck)
  3. Newsgroups: gnu.g++.help
  4. Subject: Re: g++ executable size
  5. Date: 29 Jul 1992 20:05:01 GMT
  6. Organization: U. C. Berkeley
  7. Lines: 21
  8. Message-ID: <156tldINNqad@agate.berkeley.edu>
  9. References: <EB.92Jul29092745@ascent.ascent.com>
  10. NNTP-Posting-Host: forney.berkeley.edu
  11.  
  12. In article <EB.92Jul29092745@ascent.ascent.com> eb@ascent.com (Ed Barton) writes:
  13. >As has often been noted, g++ 2.2.2 on the IBM RS/6000 produces
  14. >enormous executables.  This appears to result from the generation of
  15. >multiple local copies of various method functions.  Are there any
  16. >tricks for reducing this effect, such as by turning on some linker
  17. >flag in the second link phase only that would allow the linker to
  18. >garbage-collect most of the local copies?  Are there any undocumented
  19. >flags that allow greater control over the generation of these possibly
  20. >duplicated copies, as is possible in many PC products?
  21.  
  22. Read the "man page", g++.1 in the distribution.  The most effective
  23. technique is to use #pragma interface and #pragma implementation.
  24. This will result, if done right, in only one copy of each class's
  25. virtual function table and only one copy of each inline function that
  26. has to be "outlined".  Their use is explained in the man page.
  27.  
  28.  
  29.  
  30.  
  31. --
  32. Joe Buck    jbuck@ohm.berkeley.edu
  33.