[A86] Re: SDCC v2.3.0


[Prev][Next][Index][Thread]

[A86] Re: SDCC v2.3.0




> > Outputing text is not a problem.  There would be wrappers for rom calls
> > that would merely define the calling conventions.  The function call
> > overhead would be non existant, as compiler would essentially inline
> > the function call.
>
> I'm afraid there's no Z80 compiler that has the 'inline' function (as in
> GCC, etc.).

See, that's the problem with compilers.  If you look at modern day
compilers, things like the "register" keyword are obsolete.  Watcom was like
that, and I'd think gcc is the same way.  There is no "inline" keyword in C
(did they add that in C99?), only C++.  But it shouldn't be needed.  I'd
rather the compiler determine what should and shouldn't be inlined at
compile time depending on the optimization switches and the target
architecture, than put the information in the code.

Inlining isn't something that can happen at code generation time.  It needs
to happen during the optimization phase.  Once you inline stuff, especially
multiple levels deep, you can eliminate a lot of code.  If a compiler isn't
performing an optimization as crucial as function inlining, then there is no
way it will produce anything close to optimal code.

> > There's this wonderful thing called make that was designed for this...
:)
>
> Ever got make working on a Windows machine? !!Without downloading CygWin!!

What's wrong with Cygwin?  It's very nice if you need to use some unix
tools, like cdrecord.  My burner is in my win2k machine, so use cdrecord
under Cygwin to burn Dreamcast cd's (emulators and such, not pirated games).

You can run GNU make just from the command prompt or wherever.  You
shouldn't need to be running it from inside the Cygwin bash shell.  You
could also try the MinGW version (www.mingw.org), as that doesn't require
the Cygwin dll.  Alternatively, try using the make that comes with Borland's
free command line compiler.  Although, I would recommend using GNU make, as
I don't think Borland's is fully compatible.






References: