Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!usenet.ins.cwru.edu!tut.cis.ohio-state.edu!ucbvax!hoptoad!tim From: tim@hoptoad.uucp (Tim Maroney) Newsgroups: comp.sys.mac.programmer Subject: Re: Think against MPW interface war (was Re: MPW wish list) Message-ID: <10244@hoptoad.uucp> Date: 14 Feb 90 21:17:50 GMT References: <3689@accuvax.nwu.edu> <14112@reed.UUCP> <1046@watserv1.waterloo.edu> <3718@accuvax.nwu.edu> <2931@draken.nada.kth.se> Reply-To: tim@hoptoad.UUCP (Tim Maroney) Organization: Eclectic Software, San Francisco Lines: 30 In article <3718@accuvax.nwu.edu> jln@acns.nwu.edu (John Norstad) writes: >>As I understand it, one of the reasons is that MPW's linker is much >>smarter. For example, it lets you direct individual routines within a >>single module to different segments, and it eliminates dead code. I'm not >>sure about all this, though. In article <2931@draken.nada.kth.se> d88-jwa@nada.kth.se (Jon W{tte) writes: >Xcuse me ? One of the major gripes about the MPW linker last year was >"Why does it include so much dead code ? It should have a "smart link" >as THINK C does" ... > >Maybe that has changed, as so many other things. I've been using MPW since the beta test of version 1.0, and I'm pretty sure it's always deleted dead routines. In any case, it definitely does so now; I recently set up a test case to check. Sure enough, the unreferenced routines from my .c.o files didn't appear in the linked output. On the other hand, THINK C does *not* delete much dead code, at least not in 3.0. It includes entire source files as modules. It will only leave out routines in some libraries, and entire source code files; see the manual, page 68 for 3.0. The MPW Linker will (and I'm pretty sure always has) leave out individual unreferenced routines from source files that contain some referenced routines. -- Tim Maroney, Mac Software Consultant, sun!hoptoad!tim, tim@toad.com "Prisons are built with stones of Law, Brothels with bricks of Religion." - Blake, "The Marriage of Heaven and Hell"