[Coco] Converting ANSI-C to K&R(Microware) - Ansifront didn't work
Willard Goosey
goosey at virgo.sdc.org
Sun Jan 9 17:09:43 EST 2011
On Sat, Jan 08, 2011 at 08:56:45PM -0800, Michael Furman wrote:
> I've noted that cc252 calls c.pass1 and c.pass2. Is there any real
> difference between this and c.comp? How do I switch them?
c.pass1 & c.pass2 are slower, c.comp uses more memory. That's it.
You'll have to edit cc252.c and recompile if you want to use c.comp.
> c.prep [ used by cc1 ]
> c_prep19 [ Can replace c.prep ?, cc252 expects this to be named c_prep ]
Yeah, the stock c.prep can go away. If you sometimes end up using cc1
you can make a copy of c_prep named c.prep.
>
> rmxlab [ ? ]
Part of copt2, which I've never really used. It removes unused local
labels from assembly. I assume it would be run after copt2 to clear
out labels of code that had been removed.
> c.opt [ used by cc1, cc252 ]
> copt2 [ can replace c.opt ? ]
Again, I've never really used copt2.
> c.asm [ used by cc1 ]
> rma [ used by cc252 ]
> r63 [ cc252 -N ]
rma is a slightly newer version of c.asm. The problem is that c.asm &
c.link can't handle rma & rlink's .r files. This was a real problem
when Tandy shipped cgfx.l -- the C graphics library -- assembled with
rma and then didn't tell anybody. See "What You Should Know About
Your C Compiler."
Gene's mentioned cnoy, which I don't use. It makes the code smaller &
faster, but damages the position-independant nature of the code. I
object philosophically.
Also sometimes needful is lb_C_Lib_splitter.lzh for taking apart .l
files.
Another useful document is MWC_Bugs.lzh which will tell you why your
perfectly valid C straight out of K&R doesn't work. ;-)
Willard
--
Willard Goosey goosey at sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
-- R.E. Howard
More information about the Coco
mailing list