Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!apple!agate!dog.ee.lbl.gov!ux5.lbl.gov!beard From: beard@ux5.lbl.gov (Patrick C Beard) Newsgroups: comp.sys.mac.programmer Subject: Re: Birth of A5 world ? Message-ID: <10065@dog.ee.lbl.gov> Date: 19 Feb 91 23:44:56 GMT References: <1991Feb18.133939.12001@dit.upm.es> Reply-To: beard@ux5 (Patrick C Beard) Organization: Berkeley Systems, Inc. Lines: 22 X-Local-Date: Tue, 19 Feb 91 15:44:56 PST In article <1991Feb18.133939.12001@dit.upm.es> esink@turia.dit.upm.es (Eric Wayne Sink) writes: # # How does the Finder launch programs ? Who allocates the A5 # world memory, the finder ? How do global variables get # initialized under Think C, MPW ? What kind of code do these # compilers insert in the application, which runs before # main() ? # In my experience, the segment loader allocates the A5 world for an application, loads the jump table into it, and calls the application's first jump table entry. That's all the operating system does for an application. It is the development system's run-time library that initializes the application's globals. In THINK C, the DATA resource stores the values for the application's globals, while under MPW %A5Init stores the globals in a compressed format which it decompresses as it initializes the globals. -- ------------------------------------------------------------------ | Patrick C. Beard, Software Engineer, Berkeley Systems, Inc. | | "Heroes of technology." | | beard@lbl.gov, d0346@applelink.apple.com (ATTN: Patrick) |