dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Пн Авг 02 2010 22:25 Заголовок сообщения: компиляция java в нативный код |
|
|
Есть ли тривиальный способ компиляции java в нативный код?
Т.е., я могу сделать HelloWorld.java, скомпилировать его в HelloWorld.class:
Цитата: | javac HelloWorld.java |
Можно ли так же легко HelloWorld.java скомпилировать в exe? Так же легко - т.е. одной командой. Cмотрел сейчас пару компиляторов - оба подразумевают создание файлов-проектов...
Ну и чтобы сам этот компилятор ставился на комп так же легко и непринуждённо. Т.е. не прописывать кучу зависимостей, а максимум - указать расположение JDK.
Хотя, догадываюсь, что прошу слишком многого... |
|
alex1983-0112
Зарегистрирован: 22.08.2006 Сообщения: 46 Откуда: г. Семенов Нижегородская обл.
|
Добавлено: Вт Авг 03 2010 00:55 Заголовок сообщения: |
|
|
Вроде как есть такие тулзовины.... по крайней мере для J2ME есть тулзы, которые генерят экзешник, его запускаешь, потом бац!!! - а на экране эмулятор телефончика с твоим мидлетом. Хотя с другой стороны - зачем?
ЗЫ Было что-то подобное и для для перла, p2x кажется, не "вкомпиливал" те библиотеки, которые мне надо было. _________________ #define TRUE FALSE// счастливой отладки |
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Вт Авг 03 2010 14:15 Заголовок сообщения: |
|
|
Про вопрос "зачем" - много обсуждения видел. У меня ответ только такой: ну хочется, да и просто интересно.
В Python, говорят, такая компиляция невозможна принципиально из-за слишком динамической типизации. Т.к. в любой момент у любого объекта можно доопределить новое свойство. Т.е. если exe создать можно, то внутри него всё равно интерпретатор будет встроен. Ну и интересно, как обстоят дела с java.
Сам-то я javа не знаю, думал посмотреть, но хочется, чтобы как-то по-проще. Т.е. запустил компиляцию - а он тебе - трык - и список ошибок показал сразу, а если скомпилировалось, то запустил бы прогу. В этих целях можно, конечно, bat-файл сделать.
С другой стороны, ну пусть бы при компиляции java и виртуальная машина в exe включалась, но только не полностью, а исключительно необходимое.
Относительно тулзов, то внутри MinGW вроде как был gcj, но у меня он какие-то зависимости не находит. Да и не поддерживается gcj более, как мне показалось.
А по большому счёту, занимаюсь поисками священного грааля. Чтобы на ЯП можно было писать прикладные проги, web-апплеты и серверную логику. Есть Java, есть Flex/AIR, есть dotNet/IronPython, а может быть и NativeClient... но пока ни один не катит на панацею.
В-общем, сравниваю для себя, кто сильнее - параход или паравоз. |
|