home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!dog.ee.lbl.gov!ucbvax!mtxinu!sybase!rhoda
- From: rhoda@sybase.com (Rhoda Neimand)
- Newsgroups: comp.os.ms-windows.programmer.misc
- Subject: Re: Problem with large DGROUP segment, MS C7
- Message-ID: <27335@sybase.sybase.com>
- Date: 18 Dec 92 19:37:26 GMT
- References: <8051@skye.ed.ac.uk>
- Sender: news@Sybase.COM
- Organization: Sybase, Inc.
- Lines: 29
-
- In article <8051@skye.ed.ac.uk> jacs@aiai.uucp (Julian Smart) writes:
- >Hi,
- >
- >I'm compiling a largish Windows program with MS C7, large model, and linking
- >gives me an L1074 error - DGROUP segment larger than 64K.
- >How can I get round this, or can I? For some reason,
- >generating a MAP file doesn't work (the file is empty) although
- >I've given the /MAP:FULL and /LI options to the linker.
-
- This means that your static data has exceeded 64K (actually static data
- + heap if DLL : static data + heap + stack if regular program).
-
- You can use the /Gt compile switch to set a threshold for static data,
- e.g. /Gt32 tells the compiler to create a new segment for each piece
- of static data that is greater than 32 bytes. You can play with the
- /Gt switch to see what threshold amount works well for you. Knowing
- where and what your static data is will help you in this endeavor.
-
- Then, you can use the /PACKDATA linker switch to tell the linker to
- pack your segments back together. It packs as many as it can into
- 64K.
-
- As for the MAP file. You can't get a MAP file until the whole thing
- links.
-
- --
- Rhoda Neimand [I speak for myself]
- {sun,lll-tis,pyramid,pacbell}!sybase!rhoda -or- rhoda@sybase.com
- "I didn't want to, Jim" Mr. Spock in _This Side Of Paradise_
-