Сторінка не перевірена
![]() | |
![]() | |
Тип | Компілятор |
---|---|
Автор | Cygnus Solutionsd[1] ![]() |
Розробник | The GNU Project |
Стабільний випуск | 6.5 (October 26,2018) |
Платформа | віртуальна машина Java ![]() |
Операційна система | Unix-like |
Ліцензія | GPL |
Вебсайт | gcc.gnu.org/java |
GCJ — вільнийкомпілятор дляJava, розроблений в рамках проектуGNU Compiler Collection (GCC).
GCJ може компілювативихідний код Java вбайткод віртуальної машини Java, або безпосередньо вмашинний код багатьох процесорних архітектур. Він також може компілювати файли класів, що містять байткод, або ціліJAR, що містять такі файли, в машинний код.
Більшість бібліотек часу виконання, що використовуються в GCJ, взято з проектуGNU Classpath. Станом на GCJ 4.3, GCJ інтегрується ecj, Java-компіляторомEclipse.[2]
Станом на 2007 рік багато роботи пішло на підтримку вGNU Classpath двох графічних JavaAPI:AWT таSwing. Робота з підтримки AWT триває, після чого піде підтримка Swing[3].
Станом на 2009 рік нові зміни в GCJ майже зупинені[4]. Продукт в даний час знаходиться в режимі обслуговування.
Java-код, скомпільований в машинний код за допомогою GCJ, повинен мати більш швидкий час запуску, ніж еквівалентний байт-код, запущений в JVM[5].
Однак, після запуску Java-код, скомпільований GCJ, не обов'язково буде виконуватися швидше, ніж байт-код, що виконується сучасної JVM з увімкненимJIT. Це справедливо навіть тоді, коли GCJ викликається з просунутими опціями оптимізації, такими як-fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native. Чи зможе скомпільована програма перевершити по продуктивності JVM чи ні, залежить від конкретних операцій, які виконуються кодом[6].
![]() | Це незавершена стаття пропрограмне забезпечення. Ви можетедопомогти проєкту,виправивши або дописавши її. |