FPC JVM/ru: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ## Contents | |
| 2 | + | ||
| 3 | + | * 1 Обзор | |
| 4 | + | * 2 Сборки | |
| 5 | + | * 3 Пример | |
| 6 | + | * 3.1 Компиляция | |
| 7 | + | * 3.2 Запуск в Windows | |
| 8 | + | * 3.3 Запуск в Unix системах | |
| 9 | + | * 3.4 Подробности | |
| 10 | + | * 4 Дополнительная информация | |
| 11 | + | ||
| 1 | 12 | # Обзор | |
| 2 | 13 | ||
| 3 | - | ||
| 14 | + | FPC-backend для [виртуальной машины Java (JVM)](<http://ru.wikipedia.org/wiki/Java_Virtual_Machine>) генерирует байт-код ява, соответствующий JDK спецификации версии 1.5 (и более поздних версий). На настоящий момент поддерживаются не все возможности языка FPC, но наибольшая часть поддерживается (или будет добавлена в будущем). Команда разработчиков сделала всё возможное, чтобы не вносить каких-либо дополнительных изменений в язык с поддержкой Ява платформы. | |
| 4 | 15 | ||
| 5 | - | ||
| 16 | + | Эта реализация FPC JVM backend никак не связана с проэктом [Project Cooper](<http://www.remobjects.com/cooper.aspx>) от RemObjects, и никак не поддерживает язык Oxygene. | |
| 6 | 17 | ||
| 7 | 18 | # Сборки | |
| 8 | 19 | ||
| 9 | - | ||
| 20 | + | Сборки компилятора (svn r19598, 2011/11/07) указаны ниже. Это кросс-компиляторы, которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан. | |
| 10 | 21 | ||
| 11 | - | ||
| 22 | + | Инструкция по установке: | |
| 12 | 23 | ||
| 13 | - | ||
| 14 | - | ||
| 15 | - | ||
| 24 | + | * распакуйте архив | |
| 25 | + | * измените fpc.cfg (_bin\fpc.cfg_ (Windows), _etc/fpc.cfg_ (other platforms)) находящийся в архиве так, чтобы он указывал на директорию, в которой находятся распакованные файлы; | |
| 26 | + | * для компиляции используйте ppcjvm | |
| 16 | 27 | ||
| 17 | 28 | Тестовые проекты, которые использовались во время разработки, можно найти здесь: <http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm> | |
| 18 | 29 | ||
| 19 | - | ||
| 20 | - | ||
| 21 | - | ||
| 22 | - | ||
| 30 | + | * Ссылки на готовые сборки: | |
| 31 | + | * [Windows](<http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmwin32-snapshot3.zip/download>) (i386) ([зеркало](<ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmwin32-snapshot3.zip>)) | |
| 32 | + | * [Mac OS X](<http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmmacosx-snapshot3.tbz/download>) (universal binary, Mac OS X 10.5 or later) ([зеркало](<ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmmacosx-snapshot3.tbz>)) | |
| 33 | + | * [Linux](<http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmlinux-snapshot3.tbz/download>) (i386) ([зеркало](<ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmlinux-snapshot3.tbz>)) | |
| 23 | 34 | ||
| 24 | - | ||
| 35 | + | Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже. | |
| 25 | 36 | ||
| 26 | - | ||
| 37 | + | * [FPC JVM utilities](<ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip>) (этот файл вам **НЕ** нужен, если вы уже скачали один из файлов, указанный выше) | |
| 27 | 38 | ||
| 28 | 39 | # Пример | |
| 29 | 40 | ||
| 30 | 41 | ## Компиляция | |
| 31 | 42 | ||
| 32 | 43 | Пример можно скачать <http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm/trange1.pp> | |
| 33 | - | ||
| 34 | - | ||
| 44 | + | ``` | |
| 45 | + | ppcjvm -O2 -g trange1 | |
| 46 | + | ``` | |
| 35 | 47 | ||
| 36 | 48 | ## Запуск в Windows | |
| 37 | 49 | ||
| 38 | - | ||
| 39 | - | ||
| 40 | - | ||
| 50 | + | _Note: the path to the units has changed since the previous snapshots!_ | |
| 51 | + | ``` | |
| 52 | + | java -cp C:\full\path\to\fpcjvm\units\jvm-java\rtl;. trange1 | |
| 53 | + | ``` | |
| 41 | 54 | ||
| 42 | - | ||
| 55 | + | Замените '_C:\full\path\to\fpcjvm\units\jvm-java\rtl_ на полный путь к директории _units\jvm-java\rtl_ распакованную из архива сборки. | |
| 43 | 56 | ||
| 44 | 57 | ## Запуск в Unix системах | |
| 45 | 58 | ||
| 46 | - | ||
| 47 | - | ||
| 48 | - | ||
| 59 | + | _Note: the path to the units has changed since the previous snapshots!_ | |
| 60 | + | ``` | |
| 61 | + | java -cp /full/path/to/fpcjvm/units/jvm-java/rtl:. trange1 | |
| 62 | + | ``` | |
| 49 | 63 | ||
| 50 | - | ||
| 64 | + | Замените _/full/path/to/fpcjvm/units/jvm-java/rtl_ на полный путь к директории _units/jvm-java/rtl_ распакованную из архива сборки. | |
| 51 | 65 | ||
| 52 | 66 | ## Подробности | |
| 53 | 67 | ||
| 54 | - | ||
| 68 | + | Смотри [[FPC JVM/Usage|usage information]] для дополнительной информации. | |
| 55 | 69 | ||
| 56 | 70 | # Дополнительная информация | |
| 57 | 71 | ||
| 58 | - | ||
| 59 | - | ||
| 60 | - | ||
| 61 | - | ||
| 62 | - | ||
| 72 | + | * [[FPC JVM/Usage|Особенности использования]] | |
| 73 | + | * [[FPC JVM/Language/ru|Поддерживаемые конструкции языка]] | |
| 74 | + | * [[FPC JVM/Debugging|Помощь по отладке Ява-паскаля]] | |
| 75 | + | * [[FPC JVM/Building|Сборка компилятора и Ява утилит]] | |
| 76 | + | * [[FPC JVM/Internals/ru|Информация о внутренних изменениях в компиляторе и RTL]] (представляет интерес для разработчиков компилятора и/или RTL) | |
| 63 | 77 | ||
| 64 | 78 | --- | |
| 65 | - | ||
| 66 | - | ||
| 67 | - | ||
| 68 | - | ||
| 79 | + | *From the Free Pascal wiki, page "FPC JVM/ru", as the Internet Archive kept it on 2024-06-02. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
