2013-04-09 3 views
3

Я немного искал Google, но не смог найти хороший конвертер исходного кода Java в C.Необходимые предложения: Эффективный конвертер исходного кода на Java в C

Мой вопрос:

  1. Возможно ли это?

  2. Есть ли надежный конвертер Java в C src, о котором вы можете думать, на что я могу взглянуть?

+7

Java и C слишком различны. Главным образом из-за их соответствующих моделей памяти. Я не думаю, что это можно сделать реально – slezica

+0

Почему вы хотите это сделать? – Antimony

+5

Да, есть исходный конвертер Java-C: человеческий программист. (Надежность может быть проблемой.) –

ответ

0

Это возможно, но чрезвычайно сложно - для начала вам необходимо интегрировать сборщик мусора с источником C. Есть несколько проектов, которые пытаются это сделать, например. Toba, но они ненадежны и больше не поддерживаются. Обычно вы обнаружите, что кто-то пытается сделать что-то подобное в своей магистерской диссертации, после чего он быстро заброшен.

Если вы делаете это, чтобы попытаться ускорить работу своей программы, не делайте этого - Java уже довольно быстро по сравнению с изначально скомпилированным кодом (хотя он имеет тенденцию использовать довольно немного больше памяти), а ваш перевод C код не сможет полностью использовать язык C.

+0

Вниз, потому что я не думаю, что это добавляет много информации. Это верно, что ОП спросил «это возможно», но я думаю, что ответ «uh , это было бы действительно трудно "не добавляет ценности. – djechlin

+2

Возможно почти любое. Если он спрашивает, насколько это практично, тогда нет, это непрактично. Тот факт, что нет промышленного инструмента для кросс-компиляции Java-C, должен быть достаточно доказательством этого. –

+0

То, о чем я думал, поскольку JAva объектно ориентирована, а C нет ... но было любопытно, хотя .. спасибо всем за все ваши входы .. действительно оценен – Rookie

0

Использование Java2C: Переводчик с Java на языке C, особенно для встраиваемых и быстрых приложений реального времени, в том числе javalike выполнения системы в С.

http://sourceforge.net/projects/java2c/

+1

Любая идея, как его использовать? Я не могу найти документацию. – cokedude

0

Вы также можете попробовать XMLVM, который не конвертировать Java источник до C, но байт-код Java (который, я считаю, гораздо полезнее).

Вы можете иметь look here

0

Universal-transpiler может перевести программы Java на несколько других языков программирования, включая C. Это программное обеспечение является еще экспериментальной, но уже в состоянии перевести подмножество Java в C и нескольких других языках ,

Например, это один возможный вклад в Java:

public static int add(int a, int b){ 
    int i = 0; 
    System.out.println("hello"); 
    return a + b; 
} 

... и это вывод переводчика в C:

int add(int a,int b){ 
    int i=0; 
    printf("%s\n","hello"); 
    return a+b; 
}