2010-10-27 4 views
33

С октября 2010 года находится GNU's Java compiler мертвых? Есть ли какие-либо активные альтернативы (особенно для компиляции Java на собственный код)?Является ли компилятор GNU Java (GCJ) мертвым?

Решения LLVM были бы предпочтительнее.

+1

@ org.life.java, я не знал, что OpenJDK может создавать собственные двоичные файлы, получил пример? – mikerobi

+0

@mikerobi моя ошибка, вероятно: p –

+0

Ум, где вы видели, что он мертв? Он не выглядит мертвым со связанной страницы. –

ответ

23

Вы можете использовать компилятор IKVM и Mono для генерации собственного кода.

РЕДАКТИРОВАТЬ

Существует пример в нижней части this page.

+4

IKVM не создает собственный код. Он создает только еще один тип байтового кода для юниверса .NET. – Horcrux7

+2

@ Horcrux7, прочитайте мой ответ более внимательно и на самом деле посетите ссылку. Моно может генерировать собственный машинный код из .NET байт-кода. Таким образом, в сочетании с IKVM вы можете создать собственный код. – mikerobi

+3

Очевидно, кто бы ни голосовал, я не читал OP или мой ответ, или не верю мне. Собственно посмотрите на ссылку, которую я предоставил. Он попросил альтернативы для генерации собственного кода, и именно это я ему дал. – mikerobi

1

Я думаю, что это не мертво. Это мало что важно. Который приводит к медленному развитию. Есть 3 факта, потому что сегодня это имеет только несколько важных значений:

  • Он основан на пути к GNU Classpath. Поскольку Java является открытым исходным кодом (OpenJDK), нет большой потребности в другой Java с открытым исходным кодом. Это замедляет скорость разработки.
  • Ява была быстрее в последние годы. Выход GCJ не ускоряется. Во многих случаях он медленнее.
  • Путь к GNU Classpath имеет много несовместимости.
+4

1 год без обновления стал 6. Он мертв. –

+2

Официально мертв с октября прошлого года: http://tromey.com/blog/?p=911 – Matthieu

19

Более уместным вопросом было бы, действительно ли это было живым. Рассмотрим эти вопросы, от своего собственного веб-сайта:

  • 1,2 поддержка "еще не закончена.
  • 1.3 так же.
  • Проект был обновлен более года назад [по состоянию на октябрь 2009 года].
  • В настоящее время поддерживает большинство 1.4 библиотек плюс некоторые дополнения 1.5.
  • Не поддерживается java.nio.
  • Не поддерживается javax.naming («полный, но не поставщик»).
  • Не поддерживается javax.sql.
  • Не поддерживает AWT или Swing.
  • Не поддерживает локализацию через java.text.
  • Состояние java.security является «неизвестным».
  • Не проверять разрешения в java.lang.reflect.
  • Составляет ли он общие данные?
  • Огромные куски, отсутствующие в других упаковках, например. почти 50% от java.util.
  • Нет аннотаций.
  • Нет сценария.
  • Почти все javax.xml.* (рекурсивно) отсутствует.
  • Нет org.omg.CORBA.
  • Практически нет org.w3c.
  • Текущее сравнение с JDK 1.6 не here. Обратите внимание, что это добавляет проценты, чтобы дать совершенно бессмысленное общее количество.

Обратите внимание, что он не объявлен как «компилятор Java». Это компилятор для подмножества Java, известного как GNU CLASSPATH. Что, в свою очередь, не обновлялось с февраля 2009 года.

Если он не мертв, он, безусловно, лежит.

EDIT Это мертво. GCJ больше не listed as a GNU package. И после четырех лет нулевой активности мы имеем право принять то же самое в отношении GNU CLASSPATH.

+2

GNU Classpath обновлен в марте 2012 года: http://savannah.gnu.org/forum/forum.php?forum_id=7156 –

+1

@JanusTroelsen И это не обновлялось впоследствии, хотя я пишу это почти через три года после публикации моего ответа и через шесть месяцев после вашего комментария. Доказывает, что это война *? Я тоже ничего не вижу на этой странице, которая исправляет даже большинство многочисленных недостатков, которые я привел, прямо со своего сайта. – EJP

+2

И произнесено мертвым одним из его авторов, по состоянию на октябрь 2016 года: http://tromey.com/blog/?p=911 – Matthieu

 Смежные вопросы

  • Нет связанных вопросов^_^