Difference between revisions of "FPC JVM/ru"
Eastorwest (talk | contribs) (→Сборки) |
(→Сборки: snapshot 2) |
||
Line 7: | Line 7: | ||
=Сборки= | =Сборки= | ||
− | Сборки компилятора | + | Сборки компилятора (svn r19598, 2011/11/07) указаны ниже. Это кросс-компиляторы, которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан. |
Инструкция по установке: | Инструкция по установке: | ||
Line 16: | Line 16: | ||
* Ссылки на готовые сборки: | * Ссылки на готовые сборки: | ||
− | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1- | + | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19598-snapshot2/fpcjvmwin32-snapshot2.zip/download Windows] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmwin32-snapshot2.zip зеркало]) |
− | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1- | + | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19598-snapshot2/fpcjvmmacosx-snapshot2.tbz/download Mac OS X] (universal binary, Mac OS X 10.5 or later) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmmacosx-snapshot2.tbz зеркало]) |
− | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1- | + | ** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19598-snapshot2/fpcjvmlinux-snapshot2.tbz/download Linux] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmlinux-snapshot2.tbz зеркало]) |
Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже. | Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже. |
Revision as of 02:13, 7 November 2011
│
English (en) │
русский (ru) │
Обзор
FPC-backend для виртуальной машины Java (JVM) генерирует байт-код ява, соответствующий JDK спецификации версии 1.5 (и более поздних версий). На настоящий момент поддерживаются не все возможности языка FPC, но наибольшая часть поддерживается (или будет добавлена в будущем). Команда разработчиков сделала всё возможное, чтобы не вносить каких-либо дополнительных изменений в язык с поддержкой Ява платформы.
Эта реализация FPC JVM backend никак не связана с проэктом Project Cooper от RemObjects, и никак не поддерживает язык Oxygene.
Сборки
Сборки компилятора (svn r19598, 2011/11/07) указаны ниже. Это кросс-компиляторы, которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан.
Инструкция по установке:
- распакуйте архив
- измените fpc.cfg (bin\fpc.cfg (Windows), etc/fpc.cfg (other platforms)) находящийся в архиве так, чтобы он указывал на директорию, в которой находятся распакованные файлы;
- для компиляции используйте ppcjvm
Тестовые проекты, которые использовались во время разработки, можно найти здесь: http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm
- Ссылки на готовые сборки:
Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже.
- FPC JVM utilities (этот файл вам НЕ нужен, если вы уже скачали один из файлов, указанный выше)
Пример
Компиляция
Пример можно скачать http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm/trange1.pp
ppcjvm -O2 -g trange1
Запуск в Windows
java -cp C:\full\path\to\fpcjvm\units\rtl\jvm-java;. trange1
Замените C:\full\path\to\fpcjvm\units\rtl\jvm-java на полный путь к директории units\rtl\jvm-java распакованную из архива сборки.
Запуск в Unix системах
java -cp /full/path/to/fpcjvm/units/rtl/jvm-java:. trange1
Замените /full/path/to/fpcjvm/units/rtl/jvm-java на полный путь к директории units/rtl/jvm-java распакованную из архива сборки.
Подробности
Смотри usage information для дополнительной информации.
Дополнительная информация
- Особенности использования
- Поддерживаемые конструкции языка
- Помощь по отладке Ява-паскаля
- Сборка компилятора и Ява утилит
- Информация о внутренних изменениях в компиляторе и RTL (представляет интерес для разработчиков компилятора и/или RTL)