[vox-tech] Compiling C into Java bytecode?
Matt Roper
vox-tech@lists.lugod.org
Mon, 30 Jun 2003 10:25:38 -0700
On Mon, Jun 30, 2003 at 10:05:24AM -0700, Micah J. Cowan wrote:
> On Sun, Jun 29, 2003 at 01:07:24PM -0700, Michael Wenk wrote:
> > On Sunday 29 June 2003 02:32 am, Bill Kendrick wrote:
> > > Okay, just out of curiosity. Say one wanted to create a 'Java application'
> > > (e.g., something that runs in a web browser, cell phone or PDA JVM),
> > > but they wanted to write the application using the C /language/.
> > >
> > > This is possible, is it not? If so, are there some tools for this
> > > under Linux? (I see "gjc", the Java compiler from GNU, as well as
> > > "gij", the Java bytecode interpreter from GNU; but nothing for
> > > taking code in other programming languages and turning them into Java
> > > bytecode)
> > >
> > > Thx!
> > >
> > > -bill!
> >
> > The biggest problem would be language features. C allows you to many things
> > java does not. You'd probably spend more time trying to debug your
> > javabytecodes on whatever system you're developing than you would learning
> > java syntax. Also, even if you wanted to use C, you would still have to
> > learn the Java API(or write your own, which would be difficult to do), and
> > how to call API classes from within the language.
>
> This would be a problem if you were compiling C source into Java
> source; but AIUI the JVM is a pretty complete virtual representation
> of an actual machine; you should be able to use all features you
> normally have in C.
...
I don't think this is true. The JVM is a virtual representation of
a _stack-based_ machine (i.e. it doesn't have any notion of memory
addresses) so I don't think it can do a lot of the pointer arithmetic
that you often find in C code.
Matt
--
*************************************************
* Matt Roper <matt@mattrope.com> *
* http://www.mattrope.com *
* PGP Key: http://www.mattrope.com/mattrope.asc *
*************************************************