#: 19343 S3/Languages
18-Nov-93 20:32:17
Sb: #Ultra ???? C
Fm: Carl Kreider 71076,76
To: ucc gurus
It's been a tough couple days. My project is out of ram and rom space, but I
figure a better compiler than v3.2 will bail me out. That will let me use
'const' to keep the menu trees from getting copied from rom to ram, and better
code generation will free up some rom space. Easy, huh? Only problem is, gcc
(while it does generate slightly better code) still puts a vsect around the
menu trees and references them off a6, even when they are made const. About
this time, the new Ultra C arrived. I got it loaded and patched cc to ucc and
make to umake so it wouldn't collide with the other guys doing development.
Surely ucc will fix me up. Nope, ucc generates considerably larger
executables. Huh??? Yep, about 15% bigger. The two I was working with are
about 60K and 80K, so they are mostly mine, but the manual (I had *plenty* of
time to read the manuals - ucc is *slow*) says this can happen with the ansi
libraries, so I tweak the makefile again and use -bc for backwards
compatibility. Still bigger. But I found that I should use -t=0 to force
optimizaton for minimal space, so torch the .r files and try again. Still
bigger. The best I could do was 5% bigger. (I almost couldn't compile a couple
files with big state machine switch tables - took 1.8M of free memory after
compiler et al were loaded).
So here is the question for you ucc experts: what is the secret? What am I
doing wrong?
Carl
There are 3 Replies.
|