FAQ — различия между версиями
Alexander (обсуждение | вклад) |
Alexander (обсуждение | вклад) |
||
Строка 35: | Строка 35: | ||
$ make && make install DESTDIR=/path/to/install | $ make && make install DESTDIR=/path/to/install | ||
Результатом сборки является исполняемый файл qbe (qbe.exe), представляющий интерфейс командной строки к [[QBE]], а также библиотека libqbe.a, предоставляющая программный интерфейс. | Результатом сборки является исполняемый файл qbe (qbe.exe), представляющий интерфейс командной строки к [[QBE]], а также библиотека libqbe.a, предоставляющая программный интерфейс. | ||
+ | ---- | ||
+ | Источник: [https://compilers.ispras.ru/qbe.html | ispras.ru] | ||
+ | |||
+ | == Как использовать QBE IL? == | ||
+ | [[QBE]] предоставляет утилиту для работы с файлами на языке промежуточного представления: | ||
+ | $ qbe -h | ||
+ | qbe [OPTIONS] {file.ssa, -} | ||
+ | -h prints this help | ||
+ | -o file output to file | ||
+ | -t <target> generate for a target among: | ||
+ | amd64_sysv, arm64 | ||
+ | -G {e,m} generate gas (e) or osx (m) asm | ||
+ | -d <flags> dump debug information | ||
+ | |||
+ | Типичное использование утилиты заключается в компиляции файла с промежуточным представлением в файл на языке ассемблера: | ||
+ | $ qbe my-loop.il -o my-loop.s | ||
+ | Для компиляции ассемблерного файла в объектный или исполняемый файл можно использовать компиляторы GCC и Clang: | ||
+ | $ cc my-loop.s | ||
+ | Команды компиляции и запуска можно объединить в одну: | ||
+ | $ qbe my-loop.il | cc -xassembler - -o exe && ./exe | ||
---- | ---- | ||
Источник: [https://compilers.ispras.ru/qbe.html | ispras.ru] | Источник: [https://compilers.ispras.ru/qbe.html | ispras.ru] |
Версия 21:31, 20 марта 2018
Что такое QBE IL?
Ответ на данный вопрос Вы сможете найти в статье про QBE. Документация ко внутреннему представлению доступна в оригинале на сайте c9x.me (англоязычная версия) и в данном проекте Wiki (оригинал с параллельным переводом).
Документация на Wiki:
- QBE
- Типы
- Константы
- Объявления
- Управление
- Инструкции
- Список всех инструкций
Как получить QBE IL?
Первое, что Вам необходимо сделать – обзавестись самим QBE. Сделать это можно из git-репозитория ИСП РАН.
$ git clone https://compilers.ispras.ru/git/qbe.git $ cd qbe
Сборка полученных файлов осуществляется с помощью GNU_Make командой:
$ make && make install DESTDIR=/path/to/install
Результатом сборки является исполняемый файл qbe (qbe.exe), представляющий интерфейс командной строки к QBE, а также библиотека libqbe.a, предоставляющая программный интерфейс.
Источник: | ispras.ru
Как использовать QBE IL?
QBE предоставляет утилиту для работы с файлами на языке промежуточного представления:
$ qbe -h qbe [OPTIONS] {file.ssa, -}
-h prints this help -o file output to file -t <target> generate for a target among: amd64_sysv, arm64 -G {e,m} generate gas (e) or osx (m) asm -d <flags> dump debug information
Типичное использование утилиты заключается в компиляции файла с промежуточным представлением в файл на языке ассемблера:
$ qbe my-loop.il -o my-loop.s
Для компиляции ассемблерного файла в объектный или исполняемый файл можно использовать компиляторы GCC и Clang:
$ cc my-loop.s
Команды компиляции и запуска можно объединить в одну:
$ qbe my-loop.il | cc -xassembler - -o exe && ./exe
Источник: | ispras.ru