FPC JVM/ru

From Free Pascal wiki
Jump to navigationJump to search

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

Note: the path to the units has changed since the previous snapshots!

 java -cp C:\full\path\to\fpcjvm\units\jvm-java\rtl;. trange1

Замените 'C:\full\path\to\fpcjvm\units\jvm-java\rtl на полный путь к директории units\jvm-java\rtl распакованную из архива сборки.

Запуск в Unix системах

Note: the path to the units has changed since the previous snapshots!

 java -cp /full/path/to/fpcjvm/units/jvm-java/rtl:. trange1

Замените /full/path/to/fpcjvm/units/jvm-java/rtl на полный путь к директории units/jvm-java/rtl распакованную из архива сборки.

Подробности

Смотри usage information для дополнительной информации.

Дополнительная информация