Pergunta

Existe uma maneira de executar código c planície no topo da JVM?
Não conecte via JNI, corrida, como você pode executar código Ruby através do JRuby, ou javascript via Rhino.

Se não houver nenhuma solução atual, o que você recomendaria que devo fazer?
Obviamente, eu quero usar como soluções muitas parciais que eu puder para que isso aconteça.

ANTLR parece ser um bom lugar para começar, ter um completo "ANSI C" implementação gramática ...
eu deveria construir um "brinquedo" VM sobre a JVM utilizando o código gerado ANTLR?

Foi útil?

Solução

Actualizado 2012-01-26: De acordo com esta página no site da empresa o produto foi comprado e já não está disponível.

Sim.

Aqui está um compilador comercial C que produz JVM bytecode .

Outras dicas

Existem duas outras possibilidades, tanto de fonte aberta:

JPC emula um todo pc x86 dentro da JVM, e é capaz de rodar tanto DOS e Linux .

NestedVM fornece tradução binária para Java bytecode. Isso é feito por ter GCC compilação para um binário MIPS que é então traduzido para um arquivo de classe Java. Por isso, qualquer aplicativo escrito em C, C ++, Fortran, ou qualquer outro idioma suportado pelo GCC pode ser executado em 100% puro Java sem alterações de origem.

Talvez não exatamente o que você precisa, mas uma opção comercial é http://www.axiomsol.com/

Parece que LLJVM também pode cumprir sua exigência.

LLJVM: Fonte código é compilado pela primeira vez a representação intermédia LLVM (IV) por uma interface, tal como llvm-gcc ou tinido. LLVM IR é então traduzido para o código de montagem Jasmin, ligada contra outras classes de Java, e, em seguida, montada a JVM código de bytes.

A partir de 2016 há uma opção de jovem, mas promissor chamado GCC colmatar . Sua intenção é alavancar a implementação da JVM de R. O objetivo é usar R bibliotecas escritas em C ou Fortran. Mas gcc-ponte pode ser usado de forma independente como um plugin maven regular. veja também a gcc-brigde-exemplo .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top