rt2@cunixb.cc.columbia.edu (Rens Troost) (04/23/91)
A large (90k+ lines) program I'm working on has recently decided to not link anymore. Before I start tearing out my hair, how can I get around this "data segment too big" error? Am I doomed? The application uses a heft amount of global information. -Rens rt2@cunixb.cc.columbia.edu
hairston@henry.ece.cmu.edu (David Hairston) (04/23/91)
[rt2@cunixb.cc.columbia.edu (Rens Troost) writes:] [] A large (90k+ lines) program I'm working on has recently decided to not [] link anymore. Before I start tearing out my hair, how can I get around this [] "data segment too big" error? Am I doomed? [] The application uses a heft amount of global information. Fee Fi Fo Fum, I smell the blood of an ... ;) You are not doomed! It's all in the Think C manual. You could try two things (which are obvious from your short problem statement): 1) use multi-code segments (in the manual). 2) declare your "global data" as pointers (or handles) and then actually allocate it in the heap. this might imply structuring your data, as you really don't want to allocate "googobs" of individual int's, for example. -dave- hairston@henry.ece.cmu.edu "Manual? What Manual?? Is this not a Macintosh???"
mike@odgate.odesta.com (Mike J. Kelly) (04/28/91)
rt2@cunixb.cc.columbia.edu (Rens Troost) writes: >A large (90k+ lines) program I'm working on has recently decided to not >link anymore. Before I start tearing out my hair, how can I get around this >"data segment too big" error? Am I doomed? Try checking "Separate STRS" in the Project Type menu. It takes strings and floating point constants which are normally put into the data segment and puts them in a separate strings segment.