2015-01-31 2 views
2

Возможно ли скомпилировать исходный код java в native exe, например C++? Подобно C++, все файлы заголовков включены во время компиляции, все файлы библиотеки java, которые требуются, должны быть прикреплены в этом exe, и этот exe не должен быть байт-кодом, а native exe вместо этого и работать без jvm.Компиляция исходного кода java в native exe

Так что все, что я хочу знать, это что-то вроде .. если я могу заменить весь синтаксис Си ++ синтаксисом Java и скомпилировать его в exe-файл, подобный созданному компилятором C++, который запускается напрямую.

Примечание: Я не говорю о упаковщиках, которые обертывают классы java в exe и в конечном итоге требуют jvm.

+4

ПОЖАЛУЙСТА, НЕ ВЫЗЫВАЙТЕ –

+0

И отдельно сделайте первое предложение на самом деле своим вопросом, так как это видно на первой странице. –

+0

Нет, вы не можете победить цель независимости платформы Java. Почему бы вам не использовать C++? –

ответ

1

Единственным компилятором Java, который я знаю, является The GNU Compiler for the Javatm Programming Language.

Но это крайне маловероятно вам действительно нужен компилятор для пришлого-кода. Упаковщики, такие как те, которые вы уволили, могут сделать вашу программу полностью автономной, включая установку частной JVM, без проблем. Я настоятельно рекомендую вам check out the options in this question and its answers.

2

«GCJ является портативным, оптимизируя, вперед-Несвоевременное компилятор для языка программирования Java. Он может компилировать исходный код Java в Java байт-кода (файлы классов) или непосредственно в машинный код и Java байт-код собственный машинный код ".

см: https://gcc.gnu.org/java/

+0

Страница больше не существует. Кажется, что все ссылки на GCJ были очищены от gnu.org без упоминания. – Dan

+1

Эта ссылка все еще работает https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcj/ В настоящее время нет документации по версии 7, которую я вижу. –

+0

См. Некоторые сведения об удалении [здесь] (http://tromey.com/blog/?p=911). – Twonky

2

Я попытался Excelsior JET недавно, и она работала очень хорошо для компиляции JAR сек в родные исполняемые файлы Windows. Утилита JetpackII позволяет развертывать ваше приложение на целевой машине без установки Java. Это может быть немного сложно привыкнуть, но в целом блестящий выбор.

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